replace()

in lib/builtin.js [467:484]


  replace(ast, level) {
    this.getInstanceName(ast);
    const args = ast.args;
    const regex = ast.args[0].value.string;
    const [, extractedString, flag] = regex.match(/\/(.*?)\/(.*)/) || [];
    this.generator.emit('.replace');
    this.generator.emit(`('${extractedString}', `);
    this.generator.visitExpr(args[1], level);
    if (flag.includes('i')) {
      this.generator.emit(', flags=re.IGNORECASE)');
      return;
    }
    if (!flag.includes('g')) {
      this.generator.emit(', 1)');
      return;
    }
    this.generator.emit(')');
  }