INNER CODE UNIT · JavaScript

nameOf

Fausto-404/js-reverse-automation--skill · js-reverse-automation/scripts/ast_candidate_analyzer.js:74

function nameOf(node, parent) {
  if (node.id && node.id.name) return node.id.name;
  if (parent && parent.type === "VariableDeclarator" && parent.id && parent.id.name)
    return parent.id.name;
  if (parent && /ObjectProperty|ObjectMethod|ClassMethod/.test(parent.type || ""))
    return parent.key && (parent.key.name || parent.key.value) || "anonymous";
  return "anonymous";
}

function analyzeWithBabel(code, map) {
  const ast = babelParser.parse(code, {
    sourceType: "unambiguous",
    errorRecovery: true,
    plugins: ["jsx", "typescript", "classProperties", "optionalChaining", "dynamicImport", "decorators-legacy"]
  });
  walk(ast, null, (node, parent) => {
    if (!["FunctionDeclaration", "FunctionExpression", "ArrowFunctionExpression",
          "ObjectMethod", "ClassMethod"].includes(node.type)) return;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…