UNPKG

@nodesecure/js-x-ray

Version:
24 lines 1.05 kB
// Import Internal Dependencies import { getMemberExpressionIdentifier } from "./getMemberExpressionIdentifier.js"; import { noop } from "../types.js"; export function getCallExpressionIdentifier(node, options = {}) { if (node.type !== "CallExpression") { return null; } const { externalIdentifierLookup = noop, resolveCallExpression = true } = options; if (node.callee.type === "Identifier") { return node.callee.name; } if (node.callee.type === "MemberExpression") { const memberObject = node.callee.object; const lastId = [ ...getMemberExpressionIdentifier(node.callee, { externalIdentifierLookup }) ].join("."); return resolveCallExpression && memberObject.type === "CallExpression" ? getCallExpressionIdentifier(memberObject) + `.${lastId}` : lastId; } return resolveCallExpression ? getCallExpressionIdentifier(node.callee, { externalIdentifierLookup }) : null; } //# sourceMappingURL=getCallExpressionIdentifier.js.map