@nodesecure/js-x-ray 11.4.0 → 11.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AstAnalyser.d.ts +1 -1
- package/dist/AstAnalyser.d.ts.map +1 -1
- package/dist/AstAnalyser.js +7 -5
- package/dist/AstAnalyser.js.map +1 -1
- package/dist/Deobfuscator.d.ts.map +1 -1
- package/dist/Deobfuscator.js +8 -7
- package/dist/Deobfuscator.js.map +1 -1
- package/dist/EntryFilesAnalyser.d.ts +1 -1
- package/dist/EntryFilesAnalyser.d.ts.map +1 -1
- package/dist/EntryFilesAnalyser.js +2 -2
- package/dist/EntryFilesAnalyser.js.map +1 -1
- package/dist/NodeCounter.js +1 -1
- package/dist/ProbeRunner.d.ts +1 -1
- package/dist/ProbeRunner.d.ts.map +1 -1
- package/dist/ProbeRunner.js +44 -21
- package/dist/ProbeRunner.js.map +1 -1
- package/dist/SourceFile.d.ts +3 -3
- package/dist/SourceFile.d.ts.map +1 -1
- package/dist/SourceFile.js +14 -8
- package/dist/SourceFile.js.map +1 -1
- package/dist/VariableTracer.d.ts +100 -0
- package/dist/VariableTracer.d.ts.map +1 -0
- package/dist/VariableTracer.js +463 -0
- package/dist/VariableTracer.js.map +1 -0
- package/dist/contants.d.ts +2 -0
- package/dist/contants.d.ts.map +1 -0
- package/dist/contants.js +3 -0
- package/dist/contants.js.map +1 -0
- package/dist/estree/functions/arrayExpression.d.ts +15 -0
- package/dist/estree/functions/arrayExpression.d.ts.map +1 -0
- package/dist/estree/functions/arrayExpression.js +69 -0
- package/dist/estree/functions/arrayExpression.js.map +1 -0
- package/dist/estree/functions/concatBinaryExpression.d.ts +15 -0
- package/dist/estree/functions/concatBinaryExpression.d.ts.map +1 -0
- package/dist/estree/functions/concatBinaryExpression.js +46 -0
- package/dist/estree/functions/concatBinaryExpression.js.map +1 -0
- package/dist/estree/functions/extractLogicalExpression.d.ts +6 -0
- package/dist/estree/functions/extractLogicalExpression.d.ts.map +1 -0
- package/dist/estree/functions/extractLogicalExpression.js +18 -0
- package/dist/estree/functions/extractLogicalExpression.js.map +1 -0
- package/dist/estree/functions/getCallExpressionArguments.d.ts +4 -0
- package/dist/estree/functions/getCallExpressionArguments.d.ts.map +1 -0
- package/dist/estree/functions/getCallExpressionArguments.js +52 -0
- package/dist/estree/functions/getCallExpressionArguments.js.map +1 -0
- package/dist/estree/functions/getCallExpressionIdentifier.d.ts +15 -0
- package/dist/estree/functions/getCallExpressionIdentifier.d.ts.map +1 -0
- package/dist/estree/functions/getCallExpressionIdentifier.js +24 -0
- package/dist/estree/functions/getCallExpressionIdentifier.js.map +1 -0
- package/dist/estree/functions/getMemberExpressionIdentifier.d.ts +7 -0
- package/dist/estree/functions/getMemberExpressionIdentifier.d.ts.map +1 -0
- package/dist/estree/functions/getMemberExpressionIdentifier.js +63 -0
- package/dist/estree/functions/getMemberExpressionIdentifier.js.map +1 -0
- package/dist/estree/functions/getVariableDeclarationIdentifiers.d.ts +13 -0
- package/dist/estree/functions/getVariableDeclarationIdentifiers.d.ts.map +1 -0
- package/dist/estree/functions/getVariableDeclarationIdentifiers.js +123 -0
- package/dist/estree/functions/getVariableDeclarationIdentifiers.js.map +1 -0
- package/dist/estree/functions/toLiteral.d.ts.map +1 -0
- package/dist/estree/functions/toLiteral.js.map +1 -0
- package/dist/estree/index.d.ts +11 -0
- package/dist/estree/index.d.ts.map +1 -0
- package/dist/estree/index.js +11 -0
- package/dist/estree/index.js.map +1 -0
- package/dist/estree/literal.d.ts +4 -0
- package/dist/estree/literal.d.ts.map +1 -0
- package/dist/estree/literal.js +7 -0
- package/dist/estree/literal.js.map +1 -0
- package/dist/{types/estree.d.ts → estree/types.d.ts} +5 -1
- package/dist/estree/types.d.ts.map +1 -0
- package/dist/{types/estree.js → estree/types.js} +4 -1
- package/dist/estree/types.js.map +1 -0
- package/dist/i18n/arabic.d.ts +29 -0
- package/dist/i18n/arabic.d.ts.map +1 -0
- package/dist/i18n/arabic.js +28 -0
- package/dist/i18n/arabic.js.map +1 -0
- package/dist/i18n/english.d.ts +29 -0
- package/dist/i18n/english.d.ts.map +1 -0
- package/dist/i18n/english.js +28 -0
- package/dist/i18n/english.js.map +1 -0
- package/dist/i18n/french.d.ts +29 -0
- package/dist/i18n/french.d.ts.map +1 -0
- package/dist/i18n/french.js +30 -0
- package/dist/i18n/french.js.map +1 -0
- package/dist/i18n/turkish.d.ts +29 -0
- package/dist/i18n/turkish.d.ts.map +1 -0
- package/dist/i18n/turkish.js +28 -0
- package/dist/i18n/turkish.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/obfuscators/freejsobfuscator.d.ts +5 -0
- package/dist/obfuscators/freejsobfuscator.d.ts.map +1 -1
- package/dist/obfuscators/freejsobfuscator.js +1 -3
- package/dist/obfuscators/freejsobfuscator.js.map +1 -1
- package/dist/{JsSourceParser.d.ts → parsers/JsSourceParser.d.ts} +8 -0
- package/dist/parsers/JsSourceParser.d.ts.map +1 -0
- package/dist/{JsSourceParser.js → parsers/JsSourceParser.js} +9 -2
- package/dist/parsers/JsSourceParser.js.map +1 -0
- package/dist/parsers/TsSourceParser.d.ts +7 -0
- package/dist/parsers/TsSourceParser.d.ts.map +1 -0
- package/dist/parsers/TsSourceParser.js +25 -0
- package/dist/parsers/TsSourceParser.js.map +1 -0
- package/dist/pipelines/deobfuscate.d.ts.map +1 -1
- package/dist/pipelines/deobfuscate.js +1 -2
- package/dist/pipelines/deobfuscate.js.map +1 -1
- package/dist/probes/data-exfiltration.d.ts.map +1 -1
- package/dist/probes/data-exfiltration.js +5 -10
- package/dist/probes/data-exfiltration.js.map +1 -1
- package/dist/probes/isESMExport.d.ts +1 -1
- package/dist/probes/isFetch.d.ts.map +1 -1
- package/dist/probes/isFetch.js +2 -2
- package/dist/probes/isFetch.js.map +1 -1
- package/dist/probes/isImportDeclaration.d.ts +1 -1
- package/dist/probes/isLiteral.d.ts +1 -1
- package/dist/probes/isLiteral.d.ts.map +1 -1
- package/dist/probes/isLiteral.js +2 -4
- package/dist/probes/isLiteral.js.map +1 -1
- package/dist/probes/isMonkeyPatch.d.ts +17 -0
- package/dist/probes/isMonkeyPatch.d.ts.map +1 -0
- package/dist/probes/isMonkeyPatch.js +99 -0
- package/dist/probes/isMonkeyPatch.js.map +1 -0
- package/dist/probes/isPrototypePollution.d.ts +18 -0
- package/dist/probes/isPrototypePollution.d.ts.map +1 -0
- package/dist/probes/isPrototypePollution.js +31 -0
- package/dist/probes/isPrototypePollution.js.map +1 -0
- package/dist/probes/isRandom.d.ts +15 -0
- package/dist/probes/isRandom.d.ts.map +1 -0
- package/dist/probes/isRandom.js +29 -0
- package/dist/probes/isRandom.js.map +1 -0
- package/dist/probes/isRequire/InlinedRequire.d.ts.map +1 -1
- package/dist/probes/isRequire/InlinedRequire.js +1 -2
- package/dist/probes/isRequire/InlinedRequire.js.map +1 -1
- package/dist/probes/isRequire/RequireCallExpressionWalker.d.ts +1 -1
- package/dist/probes/isRequire/RequireCallExpressionWalker.d.ts.map +1 -1
- package/dist/probes/isRequire/RequireCallExpressionWalker.js +4 -6
- package/dist/probes/isRequire/RequireCallExpressionWalker.js.map +1 -1
- package/dist/probes/isRequire/isRequire.d.ts.map +1 -1
- package/dist/probes/isRequire/isRequire.js +6 -6
- package/dist/probes/isRequire/isRequire.js.map +1 -1
- package/dist/probes/isSerializeEnv.d.ts +1 -0
- package/dist/probes/isSerializeEnv.d.ts.map +1 -1
- package/dist/probes/isSerializeEnv.js +6 -9
- package/dist/probes/isSerializeEnv.js.map +1 -1
- package/dist/probes/isSyncIO.d.ts +2 -1
- package/dist/probes/isSyncIO.d.ts.map +1 -1
- package/dist/probes/isSyncIO.js +12 -12
- package/dist/probes/isSyncIO.js.map +1 -1
- package/dist/probes/isUnsafeCallee.d.ts.map +1 -1
- package/dist/probes/isUnsafeCallee.js +2 -2
- package/dist/probes/isUnsafeCallee.js.map +1 -1
- package/dist/probes/isUnsafeCommand.d.ts +2 -1
- package/dist/probes/isUnsafeCommand.d.ts.map +1 -1
- package/dist/probes/isUnsafeCommand.js +8 -14
- package/dist/probes/isUnsafeCommand.js.map +1 -1
- package/dist/probes/isWeakCrypto.d.ts +2 -1
- package/dist/probes/isWeakCrypto.d.ts.map +1 -1
- package/dist/probes/isWeakCrypto.js +7 -9
- package/dist/probes/isWeakCrypto.js.map +1 -1
- package/dist/probes/log-usage.d.ts +1 -1
- package/dist/probes/log-usage.d.ts.map +1 -1
- package/dist/probes/log-usage.js +7 -13
- package/dist/probes/log-usage.js.map +1 -1
- package/dist/probes/sql-injection.d.ts +2 -2
- package/dist/probes/sql-injection.d.ts.map +1 -1
- package/dist/probes/sql-injection.js +25 -8
- package/dist/probes/sql-injection.js.map +1 -1
- package/dist/utils/extractNode.js +1 -1
- package/dist/utils/getSubMemberExpressionSegments.d.ts +2 -0
- package/dist/utils/getSubMemberExpressionSegments.d.ts.map +1 -0
- package/dist/utils/getSubMemberExpressionSegments.js +9 -0
- package/dist/utils/getSubMemberExpressionSegments.js.map +1 -0
- package/dist/utils/hex.d.ts +14 -0
- package/dist/utils/hex.d.ts.map +1 -0
- package/dist/utils/hex.js +44 -0
- package/dist/utils/hex.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/isEvilIdentifier.d.ts +3 -0
- package/dist/utils/isEvilIdentifier.d.ts.map +1 -0
- package/dist/utils/isEvilIdentifier.js +11 -0
- package/dist/utils/isEvilIdentifier.js.map +1 -0
- package/dist/utils/isOneLineExpressionExport.d.ts.map +1 -1
- package/dist/utils/isOneLineExpressionExport.js +2 -1
- package/dist/utils/isOneLineExpressionExport.js.map +1 -1
- package/dist/utils/isStringBase64.d.ts +8 -0
- package/dist/utils/isStringBase64.d.ts.map +1 -0
- package/dist/utils/isStringBase64.js +18 -0
- package/dist/utils/isStringBase64.js.map +1 -0
- package/dist/utils/isSvg.d.ts +7 -0
- package/dist/utils/isSvg.d.ts.map +1 -0
- package/dist/utils/isSvg.js +26 -0
- package/dist/utils/isSvg.js.map +1 -0
- package/dist/utils/makePrefixRemover.d.ts +2 -0
- package/dist/utils/makePrefixRemover.d.ts.map +1 -0
- package/dist/utils/makePrefixRemover.js +13 -0
- package/dist/utils/makePrefixRemover.js.map +1 -0
- package/dist/utils/patterns.d.ts +24 -0
- package/dist/utils/patterns.d.ts.map +1 -0
- package/dist/utils/patterns.js +77 -0
- package/dist/utils/patterns.js.map +1 -0
- package/dist/utils/stringSuspicionScore.d.ts +12 -0
- package/dist/utils/stringSuspicionScore.d.ts.map +1 -0
- package/dist/utils/stringSuspicionScore.js +53 -0
- package/dist/utils/stringSuspicionScore.js.map +1 -0
- package/dist/utils/stripNodePrefix.d.ts +2 -0
- package/dist/utils/stripNodePrefix.d.ts.map +1 -0
- package/dist/utils/stripNodePrefix.js +11 -0
- package/dist/utils/stripNodePrefix.js.map +1 -0
- package/dist/walker/walker.sync.js +1 -1
- package/dist/warnings.d.ts +17 -2
- package/dist/warnings.d.ts.map +1 -1
- package/dist/warnings.js +15 -0
- package/dist/warnings.js.map +1 -1
- package/package.json +8 -7
- package/dist/JsSourceParser.d.ts.map +0 -1
- package/dist/JsSourceParser.js.map +0 -1
- package/dist/types/estree.d.ts.map +0 -1
- package/dist/types/estree.js.map +0 -1
- package/dist/utils/toLiteral.d.ts.map +0 -1
- package/dist/utils/toLiteral.js.map +0 -1
- /package/dist/{utils → estree/functions}/toLiteral.d.ts +0 -0
- /package/dist/{utils → estree/functions}/toLiteral.js +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Import Internal Dependencies
|
|
2
|
+
import { getMemberExpressionIdentifier } from "./getMemberExpressionIdentifier.js";
|
|
3
|
+
import { isCallExpression, isLiteral, isNode, noop } from "../types.js";
|
|
4
|
+
export function* arrayExpressionToString(node, options = {}) {
|
|
5
|
+
const { externalIdentifierLookup = noop, resolveCharCode = true } = options;
|
|
6
|
+
if (!isNode(node) || node.type !== "ArrayExpression") {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
for (const row of node.elements) {
|
|
10
|
+
if (row === null) {
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
switch (row.type) {
|
|
14
|
+
case "Literal": {
|
|
15
|
+
if (row.value === "") {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (resolveCharCode) {
|
|
19
|
+
const value = Number(row.value);
|
|
20
|
+
yield Number.isNaN(value) ?
|
|
21
|
+
String(row.value) :
|
|
22
|
+
String.fromCharCode(value);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
yield String(row.value);
|
|
26
|
+
}
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
case "Identifier": {
|
|
30
|
+
const identifier = externalIdentifierLookup(row.name);
|
|
31
|
+
if (identifier !== null) {
|
|
32
|
+
yield identifier;
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case "CallExpression": {
|
|
37
|
+
const value = joinArrayExpression(row, {
|
|
38
|
+
externalIdentifierLookup
|
|
39
|
+
});
|
|
40
|
+
if (value !== null) {
|
|
41
|
+
yield value;
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export function joinArrayExpression(node, options = {}) {
|
|
49
|
+
if (!isCallExpression(node)) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
if (node.arguments.length !== 1 ||
|
|
53
|
+
(node.callee.type !== "MemberExpression" ||
|
|
54
|
+
node.callee.object.type !== "ArrayExpression")) {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
const id = Array.from(getMemberExpressionIdentifier(node.callee)).join(".");
|
|
58
|
+
if (id !== "join" ||
|
|
59
|
+
!isLiteral(node.arguments[0])) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
const separator = node.arguments[0].value;
|
|
63
|
+
const iter = arrayExpressionToString(node.callee.object, {
|
|
64
|
+
...options,
|
|
65
|
+
resolveCharCode: false
|
|
66
|
+
});
|
|
67
|
+
return [...iter].join(separator);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=arrayExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrayExpression.js","sourceRoot":"","sources":["../../../src/estree/functions/arrayExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ESTree } from "meriyah";
|
|
2
|
+
import { type DefaultOptions } from "../types.ts";
|
|
3
|
+
export interface ConcatBinaryExpressionOptions extends DefaultOptions {
|
|
4
|
+
/**
|
|
5
|
+
* When set to true, the function will throw an error if it encounters
|
|
6
|
+
* a node type that is not supported (i.e., not a Literal, BinaryExpr, ArrayExpr or Identifier).
|
|
7
|
+
*
|
|
8
|
+
* @default false
|
|
9
|
+
* @example
|
|
10
|
+
* "foo" + fn() + "bar" // <- will throw an error if `stopOnUnsupportedNode` is true
|
|
11
|
+
*/
|
|
12
|
+
stopOnUnsupportedNode?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function concatBinaryExpression(node: ESTree.BinaryExpression, options?: ConcatBinaryExpressionOptions): IterableIterator<string>;
|
|
15
|
+
//# sourceMappingURL=concatBinaryExpression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concatBinaryExpression.d.ts","sourceRoot":"","sources":["../../../src/estree/functions/concatBinaryExpression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAItC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAUrB,MAAM,WAAW,6BAA8B,SAAQ,cAAc;IACnE;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAiB,sBAAsB,CACrC,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAC7B,OAAO,GAAE,6BAAkC,GAC1C,gBAAgB,CAAC,MAAM,CAAC,CA4C1B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// Import Internal Dependencies
|
|
2
|
+
import { arrayExpressionToString } from "./arrayExpression.js";
|
|
3
|
+
import { noop } from "../types.js";
|
|
4
|
+
// CONSTANTS
|
|
5
|
+
const kBinaryExprTypes = new Set([
|
|
6
|
+
"Literal",
|
|
7
|
+
"BinaryExpression",
|
|
8
|
+
"ArrayExpression",
|
|
9
|
+
"Identifier"
|
|
10
|
+
]);
|
|
11
|
+
export function* concatBinaryExpression(node, options = {}) {
|
|
12
|
+
const { externalIdentifierLookup = noop, stopOnUnsupportedNode = false } = options;
|
|
13
|
+
const { left, right } = node;
|
|
14
|
+
if (stopOnUnsupportedNode &&
|
|
15
|
+
(!kBinaryExprTypes.has(left.type) || !kBinaryExprTypes.has(right.type))) {
|
|
16
|
+
throw new Error("concatBinaryExpression:: Unsupported node detected");
|
|
17
|
+
}
|
|
18
|
+
for (const childNode of [left, right]) {
|
|
19
|
+
switch (childNode.type) {
|
|
20
|
+
case "BinaryExpression": {
|
|
21
|
+
yield* concatBinaryExpression(childNode, {
|
|
22
|
+
externalIdentifierLookup,
|
|
23
|
+
stopOnUnsupportedNode
|
|
24
|
+
});
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
case "ArrayExpression": {
|
|
28
|
+
yield* arrayExpressionToString(childNode, { externalIdentifierLookup });
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
case "Literal":
|
|
32
|
+
if (typeof childNode.value === "string") {
|
|
33
|
+
yield childNode.value;
|
|
34
|
+
}
|
|
35
|
+
break;
|
|
36
|
+
case "Identifier": {
|
|
37
|
+
const identifier = externalIdentifierLookup(childNode.name);
|
|
38
|
+
if (identifier) {
|
|
39
|
+
yield identifier;
|
|
40
|
+
}
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=concatBinaryExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concatBinaryExpression.js","sourceRoot":"","sources":["../../../src/estree/functions/concatBinaryExpression.ts"],"names":[],"mappings":"AAGA,+BAA+B;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAEL,IAAI,EACL,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,SAAS;IACT,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;CACb,CAAC,CAAC;AAcH,MAAM,SAAS,CAAC,CAAC,sBAAsB,CACrC,IAA6B,EAC7B,UAAyC,EAAE;IAE3C,MAAM,EACJ,wBAAwB,GAAG,IAAI,EAC/B,qBAAqB,GAAG,KAAK,EAC9B,GAAG,OAAO,CAAC;IACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAE7B,IACE,qBAAqB;QACrB,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EACvE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACtC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACvB,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,KAAK,CAAC,CAAC,sBAAsB,CAAC,SAAS,EAAE;oBACvC,wBAAwB;oBACxB,qBAAqB;iBACtB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,KAAK,CAAC,CAAC,uBAAuB,CAC5B,SAAS,EACT,EAAE,wBAAwB,EAAE,CAC7B,CAAC;gBACF,MAAM;YACR,CAAC;YACD,KAAK,SAAS;gBACZ,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACxC,MAAM,SAAS,CAAC,KAAK,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,UAAU,GAAG,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,UAAU,CAAC;gBACnB,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractLogicalExpression.d.ts","sourceRoot":"","sources":["../../../src/estree/functions/extractLogicalExpression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAiB,wBAAwB,CACvC,IAAI,EAAE,MAAM,CAAC,IAAI,GAChB,gBAAgB,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC;CAAE,CAAC,CAkBlE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function* extractLogicalExpression(node) {
|
|
2
|
+
if (node.type !== "LogicalExpression") {
|
|
3
|
+
return;
|
|
4
|
+
}
|
|
5
|
+
if (node.left.type === "LogicalExpression") {
|
|
6
|
+
yield* extractLogicalExpression(node.left);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
yield { operator: node.operator, node: node.left };
|
|
10
|
+
}
|
|
11
|
+
if (node.right.type === "LogicalExpression") {
|
|
12
|
+
yield* extractLogicalExpression(node.right);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
yield { operator: node.operator, node: node.right };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=extractLogicalExpression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extractLogicalExpression.js","sourceRoot":"","sources":["../../../src/estree/functions/extractLogicalExpression.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS,CAAC,CAAC,wBAAwB,CACvC,IAAiB;IAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC3C,KAAK,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;SACI,CAAC;QACJ,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QAC5C,KAAK,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;SACI,CAAC;QACJ,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCallExpressionArguments.d.ts","sourceRoot":"","sources":["../../../src/estree/functions/getCallExpressionArguments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAMtC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,OAAO,GAAE,cAAmB,GAC3B,MAAM,EAAE,GAAG,IAAI,CAkDjB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// Import Internal Dependencies
|
|
2
|
+
import { Hex } from "../../utils/index.js";
|
|
3
|
+
import { concatBinaryExpression } from "./concatBinaryExpression.js";
|
|
4
|
+
import { toLiteral } from "./toLiteral.js";
|
|
5
|
+
import { noop } from "../types.js";
|
|
6
|
+
export function getCallExpressionArguments(node, options = {}) {
|
|
7
|
+
const { externalIdentifierLookup = noop } = options;
|
|
8
|
+
if (
|
|
9
|
+
// eslint-disable-next-line no-eq-null
|
|
10
|
+
node == null ||
|
|
11
|
+
node.type !== "CallExpression" ||
|
|
12
|
+
node.arguments.length === 0) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
const literalsNode = [];
|
|
16
|
+
for (const arg of node.arguments) {
|
|
17
|
+
switch (arg.type) {
|
|
18
|
+
case "Identifier": {
|
|
19
|
+
const identifierValue = externalIdentifierLookup(arg.name);
|
|
20
|
+
if (identifierValue !== null) {
|
|
21
|
+
literalsNode.push(identifierValue);
|
|
22
|
+
}
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
case "Literal": {
|
|
26
|
+
if (typeof arg.value === "string") {
|
|
27
|
+
literalsNode.push(hexToString(arg.value));
|
|
28
|
+
}
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
case "TemplateLiteral": {
|
|
32
|
+
const literal = toLiteral(arg);
|
|
33
|
+
literalsNode.push(literal);
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case "BinaryExpression": {
|
|
37
|
+
const concatenatedBinaryExpr = [
|
|
38
|
+
...concatBinaryExpression(arg, { externalIdentifierLookup })
|
|
39
|
+
].join("");
|
|
40
|
+
if (concatenatedBinaryExpr !== "") {
|
|
41
|
+
literalsNode.push(concatenatedBinaryExpr);
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return literalsNode.length === 0 ? null : literalsNode;
|
|
48
|
+
}
|
|
49
|
+
function hexToString(value) {
|
|
50
|
+
return Hex.isHex(value) ? Buffer.from(value, "hex").toString() : value;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=getCallExpressionArguments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCallExpressionArguments.js","sourceRoot":"","sources":["../../../src/estree/functions/getCallExpressionArguments.ts"],"names":[],"mappings":"AAGA,+BAA+B;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAEL,IAAI,EACL,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,0BAA0B,CACxC,IAAiB,EACjB,UAA0B,EAAE;IAE5B,MAAM,EAAE,wBAAwB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEpD;IACE,sCAAsC;IACtC,IAAI,IAAI,IAAI;QACZ,IAAI,CAAC,IAAI,KAAK,gBAAgB;QAC9B,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,eAAe,GAAG,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;oBAC7B,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACrC,CAAC;gBAED,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAClC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE3B,MAAM;YACR,CAAC;YACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,sBAAsB,GAAG;oBAC7B,GAAG,sBAAsB,CAAC,GAAG,EAAE,EAAE,wBAAwB,EAAE,CAAC;iBAC7D,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACX,IAAI,sBAAsB,KAAK,EAAE,EAAE,CAAC;oBAClC,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;AACzD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ESTree } from "meriyah";
|
|
2
|
+
import { type DefaultOptions } from "../types.ts";
|
|
3
|
+
export interface GetCallExpressionIdentifierOptions extends DefaultOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Resolve the CallExpression callee if it is a MemberExpression.
|
|
6
|
+
*
|
|
7
|
+
* @default true
|
|
8
|
+
* @example
|
|
9
|
+
* require('./file.js')();
|
|
10
|
+
^ Second ^ First
|
|
11
|
+
*/
|
|
12
|
+
resolveCallExpression?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function getCallExpressionIdentifier(node: ESTree.Node, options?: GetCallExpressionIdentifierOptions): string | null;
|
|
15
|
+
//# sourceMappingURL=getCallExpressionIdentifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCallExpressionIdentifier.d.ts","sourceRoot":"","sources":["../../../src/estree/functions/getCallExpressionIdentifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAItC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,kCAAmC,SAAQ,cAAc;IACxE;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,OAAO,GAAE,kCAAuC,GAC/C,MAAM,GAAG,IAAI,CAyBf"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Import Internal Dependencies
|
|
2
|
+
import { getMemberExpressionIdentifier } from "./getMemberExpressionIdentifier.js";
|
|
3
|
+
import { noop } from "../types.js";
|
|
4
|
+
export function getCallExpressionIdentifier(node, options = {}) {
|
|
5
|
+
if (node.type !== "CallExpression") {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
const { externalIdentifierLookup = noop, resolveCallExpression = true } = options;
|
|
9
|
+
if (node.callee.type === "Identifier") {
|
|
10
|
+
return node.callee.name;
|
|
11
|
+
}
|
|
12
|
+
if (node.callee.type === "MemberExpression") {
|
|
13
|
+
const memberObject = node.callee.object;
|
|
14
|
+
const lastId = [
|
|
15
|
+
...getMemberExpressionIdentifier(node.callee, { externalIdentifierLookup })
|
|
16
|
+
].join(".");
|
|
17
|
+
return resolveCallExpression && memberObject.type === "CallExpression" ?
|
|
18
|
+
getCallExpressionIdentifier(memberObject) + `.${lastId}` :
|
|
19
|
+
lastId;
|
|
20
|
+
}
|
|
21
|
+
return resolveCallExpression ?
|
|
22
|
+
getCallExpressionIdentifier(node.callee, { externalIdentifierLookup }) : null;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=getCallExpressionIdentifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCallExpressionIdentifier.js","sourceRoot":"","sources":["../../../src/estree/functions/getCallExpressionIdentifier.ts"],"names":[],"mappings":"AAGA,+BAA+B;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAEL,IAAI,EACL,MAAM,aAAa,CAAC;AAcrB,MAAM,UAAU,2BAA2B,CACzC,IAAiB,EACjB,UAA8C,EAAE;IAEhD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EACJ,wBAAwB,GAAG,IAAI,EAC/B,qBAAqB,GAAG,IAAI,EAC7B,GAAG,OAAO,CAAC;IAEZ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,MAAM,MAAM,GAAG;YACb,GAAG,6BAA6B,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,EAAE,CAAC;SAC5E,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,OAAO,qBAAqB,IAAI,YAAY,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;YACtE,2BAA2B,CAAC,YAAY,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC;IACX,CAAC;IAED,OAAO,qBAAqB,CAAC,CAAC;QAC5B,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ESTree } from "meriyah";
|
|
2
|
+
import { type DefaultOptions } from "../types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Return the complete identifier of a MemberExpression
|
|
5
|
+
*/
|
|
6
|
+
export declare function getMemberExpressionIdentifier(node: ESTree.MemberExpression, options?: DefaultOptions): IterableIterator<string>;
|
|
7
|
+
//# sourceMappingURL=getMemberExpressionIdentifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMemberExpressionIdentifier.d.ts","sourceRoot":"","sources":["../../../src/estree/functions/getMemberExpressionIdentifier.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAKtC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,wBAAiB,6BAA6B,CAC5C,IAAI,EAAE,MAAM,CAAC,gBAAgB,EAC7B,OAAO,GAAE,cAAmB,GAC3B,gBAAgB,CAAC,MAAM,CAAC,CA6D1B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Import Internal Dependencies
|
|
2
|
+
import { Hex } from "../../utils/index.js";
|
|
3
|
+
import { concatBinaryExpression } from "./concatBinaryExpression.js";
|
|
4
|
+
import { noop } from "../types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Return the complete identifier of a MemberExpression
|
|
7
|
+
*/
|
|
8
|
+
export function* getMemberExpressionIdentifier(node, options = {}) {
|
|
9
|
+
const { externalIdentifierLookup = noop } = options;
|
|
10
|
+
switch (node.object.type) {
|
|
11
|
+
// Chain with another MemberExpression
|
|
12
|
+
case "MemberExpression":
|
|
13
|
+
yield* getMemberExpressionIdentifier(node.object, options);
|
|
14
|
+
break;
|
|
15
|
+
case "Identifier":
|
|
16
|
+
yield node.object.name;
|
|
17
|
+
break;
|
|
18
|
+
// Literal is used when the property is computed
|
|
19
|
+
case "Literal":
|
|
20
|
+
if (typeof node.object.value === "string") {
|
|
21
|
+
yield node.object.value;
|
|
22
|
+
}
|
|
23
|
+
break;
|
|
24
|
+
}
|
|
25
|
+
switch (node.property.type) {
|
|
26
|
+
case "Identifier": {
|
|
27
|
+
const identifierValue = externalIdentifierLookup(node.property.name);
|
|
28
|
+
if (identifierValue === null) {
|
|
29
|
+
yield node.property.name;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
yield identifierValue;
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
// Literal is used when the property is computed
|
|
37
|
+
case "Literal":
|
|
38
|
+
if (typeof node.property.value === "string") {
|
|
39
|
+
yield node.property.value;
|
|
40
|
+
}
|
|
41
|
+
break;
|
|
42
|
+
// foo.bar[callexpr()]
|
|
43
|
+
case "CallExpression": {
|
|
44
|
+
const args = node.property.arguments;
|
|
45
|
+
if (args.length > 0 &&
|
|
46
|
+
args[0].type === "Literal" &&
|
|
47
|
+
typeof args[0].value === "string" &&
|
|
48
|
+
Hex.isHex(args[0].value)) {
|
|
49
|
+
yield Buffer.from(args[0].value, "hex").toString();
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
// foo.bar["k" + "e" + "y"]
|
|
54
|
+
case "BinaryExpression": {
|
|
55
|
+
const literal = [...concatBinaryExpression(node.property, options)].join("");
|
|
56
|
+
if (literal.trim() !== "") {
|
|
57
|
+
yield literal;
|
|
58
|
+
}
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=getMemberExpressionIdentifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMemberExpressionIdentifier.js","sourceRoot":"","sources":["../../../src/estree/functions/getMemberExpressionIdentifier.ts"],"names":[],"mappings":"AAGA,+BAA+B;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAEL,IAAI,EACL,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,SAAS,CAAC,CAAC,6BAA6B,CAC5C,IAA6B,EAC7B,UAA0B,EAAE;IAE5B,MAAM,EAAE,wBAAwB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEpD,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,sCAAsC;QACtC,KAAK,kBAAkB;YACrB,KAAK,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM;QACR,KAAK,YAAY;YACf,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACvB,MAAM;QACR,gDAAgD;QAChD,KAAK,SAAS;YACZ,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC1B,CAAC;YACD,MAAM;IACV,CAAC;IAED,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,eAAe,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrE,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC3B,CAAC;iBACI,CAAC;gBACJ,MAAM,eAAe,CAAC;YACxB,CAAC;YAED,MAAM;QACR,CAAC;QACD,gDAAgD;QAChD,KAAK,SAAS;YACZ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC5B,CAAC;YACD,MAAM;QAER,sBAAsB;QACtB,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACrC,IACE,IAAI,CAAC,MAAM,GAAG,CAAC;gBACf,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS;gBAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ;gBACjC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACxB,CAAC;gBACD,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACrD,CAAC;YACD,MAAM;QACR,CAAC;QAED,2BAA2B;QAC3B,KAAK,kBAAkB,CAAC,CAAC,CAAC;YACxB,MAAM,OAAO,GAAG,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7E,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC1B,MAAM,OAAO,CAAC;YAChB,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ESTree } from "meriyah";
|
|
2
|
+
export interface GetVariableDeclarationIdentifiersOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Prefix to add to the variable name.
|
|
5
|
+
* @default void
|
|
6
|
+
*/
|
|
7
|
+
prefix?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function getVariableDeclarationIdentifiers(node: ESTree.Node, options?: GetVariableDeclarationIdentifiersOptions): IterableIterator<{
|
|
10
|
+
name: string;
|
|
11
|
+
assignmentId: ESTree.Identifier;
|
|
12
|
+
}>;
|
|
13
|
+
//# sourceMappingURL=getVariableDeclarationIdentifiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariableDeclarationIdentifiers.d.ts","sourceRoot":"","sources":["../../../src/estree/functions/getVariableDeclarationIdentifiers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,WAAW,wCAAwC;IACvD;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAiB,iCAAiC,CAChD,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,OAAO,GAAE,wCAA6C,GACrD,gBAAgB,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;CACjC,CAAC,CAuJH"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
export function* getVariableDeclarationIdentifiers(node, options = {}) {
|
|
2
|
+
const { prefix = null } = options;
|
|
3
|
+
switch (node.type) {
|
|
4
|
+
case "VariableDeclaration": {
|
|
5
|
+
for (const variableDeclarator of node.declarations) {
|
|
6
|
+
yield* getVariableDeclarationIdentifiers(variableDeclarator, options);
|
|
7
|
+
}
|
|
8
|
+
break;
|
|
9
|
+
}
|
|
10
|
+
case "VariableDeclarator":
|
|
11
|
+
yield* getVariableDeclarationIdentifiers(node.id, options);
|
|
12
|
+
if (node.init !== null) {
|
|
13
|
+
yield* getVariableDeclarationIdentifiers(node.init, options);
|
|
14
|
+
}
|
|
15
|
+
break;
|
|
16
|
+
case "Identifier":
|
|
17
|
+
yield {
|
|
18
|
+
name: autoPrefix(node.name, prefix),
|
|
19
|
+
assignmentId: node
|
|
20
|
+
};
|
|
21
|
+
break;
|
|
22
|
+
case "Property": {
|
|
23
|
+
if (node.kind !== "init" || node.key.type !== "Identifier") {
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
if (node.value.type === "ObjectPattern" ||
|
|
27
|
+
node.value.type === "ArrayPattern") {
|
|
28
|
+
yield* getVariableDeclarationIdentifiers(node.value, {
|
|
29
|
+
prefix: autoPrefix(node.key.name, prefix)
|
|
30
|
+
});
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
let assignmentId = node.key;
|
|
34
|
+
if (node.value.type === "Identifier") {
|
|
35
|
+
assignmentId = node.value;
|
|
36
|
+
}
|
|
37
|
+
else if (node.value.type === "AssignmentPattern" &&
|
|
38
|
+
node.value.left.type === "Identifier") {
|
|
39
|
+
assignmentId = node.value.left;
|
|
40
|
+
}
|
|
41
|
+
yield {
|
|
42
|
+
name: autoPrefix(node.key.name, prefix),
|
|
43
|
+
assignmentId
|
|
44
|
+
};
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Rest syntax (in ArrayPattern or ObjectPattern for example)
|
|
49
|
+
* const [...foo] = []
|
|
50
|
+
* const {...foo} = {}
|
|
51
|
+
*/
|
|
52
|
+
case "RestElement":
|
|
53
|
+
if (node.argument.type === "Identifier") {
|
|
54
|
+
yield {
|
|
55
|
+
name: autoPrefix(node.argument.name, prefix),
|
|
56
|
+
assignmentId: node.argument
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
break;
|
|
60
|
+
/**
|
|
61
|
+
* ({ foo: 5, bar: null })
|
|
62
|
+
*/
|
|
63
|
+
case "ObjectExpression": {
|
|
64
|
+
for (const property of node.properties) {
|
|
65
|
+
yield* getVariableDeclarationIdentifiers(property, options);
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* (foo = 5, bar = null)
|
|
71
|
+
*/
|
|
72
|
+
case "SequenceExpression": {
|
|
73
|
+
for (const expr of node.expressions) {
|
|
74
|
+
yield* getVariableDeclarationIdentifiers(expr, options);
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* (foo = 5)
|
|
80
|
+
*/
|
|
81
|
+
case "AssignmentExpression":
|
|
82
|
+
yield* getVariableDeclarationIdentifiers(node.left, options);
|
|
83
|
+
break;
|
|
84
|
+
/**
|
|
85
|
+
* const [{ foo }] = []
|
|
86
|
+
* const [foo = 10] = []
|
|
87
|
+
* ↪ Destructuration + Assignement of a default value
|
|
88
|
+
*/
|
|
89
|
+
case "AssignmentPattern":
|
|
90
|
+
if (node.left.type === "Identifier") {
|
|
91
|
+
yield { name: node.left.name, assignmentId: node.left };
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
yield* getVariableDeclarationIdentifiers(node.left, options);
|
|
95
|
+
}
|
|
96
|
+
break;
|
|
97
|
+
/**
|
|
98
|
+
* const [foo] = [];
|
|
99
|
+
* ↪ Destructuration of foo is an ArrayPattern
|
|
100
|
+
*/
|
|
101
|
+
case "ArrayPattern":
|
|
102
|
+
yield* node.elements
|
|
103
|
+
.filter(notNullOrUndefined)
|
|
104
|
+
.map((id) => [...getVariableDeclarationIdentifiers(id, options)]).flat();
|
|
105
|
+
break;
|
|
106
|
+
/**
|
|
107
|
+
* const {foo} = {};
|
|
108
|
+
* ↪ Destructuration of foo is an ObjectPattern
|
|
109
|
+
*/
|
|
110
|
+
case "ObjectPattern":
|
|
111
|
+
yield* node.properties
|
|
112
|
+
.filter(notNullOrUndefined)
|
|
113
|
+
.map((property) => [...getVariableDeclarationIdentifiers(property, options)]).flat();
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
function autoPrefix(name, prefix = null) {
|
|
118
|
+
return typeof prefix === "string" ? `${prefix}.${name}` : name;
|
|
119
|
+
}
|
|
120
|
+
function notNullOrUndefined(value) {
|
|
121
|
+
return value !== null && value !== void 0;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=getVariableDeclarationIdentifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVariableDeclarationIdentifiers.js","sourceRoot":"","sources":["../../../src/estree/functions/getVariableDeclarationIdentifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toLiteral.d.ts","sourceRoot":"","sources":["../../../src/estree/functions/toLiteral.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,SAAS,CACvB,eAAe,EAAE,MAAM,CAAC,eAAe,UAGxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toLiteral.js","sourceRoot":"","sources":["../../../src/estree/functions/toLiteral.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CACvB,eAAuC;IAEvC,OAAO,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/G,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./functions/arrayExpression.ts";
|
|
2
|
+
export * from "./functions/concatBinaryExpression.ts";
|
|
3
|
+
export * from "./functions/extractLogicalExpression.ts";
|
|
4
|
+
export * from "./functions/getCallExpressionArguments.ts";
|
|
5
|
+
export * from "./functions/getCallExpressionIdentifier.ts";
|
|
6
|
+
export * from "./functions/getMemberExpressionIdentifier.ts";
|
|
7
|
+
export * from "./functions/getVariableDeclarationIdentifiers.ts";
|
|
8
|
+
export * from "./functions/toLiteral.ts";
|
|
9
|
+
export * from "./types.ts";
|
|
10
|
+
export * from "./literal.ts";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/estree/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./functions/arrayExpression.js";
|
|
2
|
+
export * from "./functions/concatBinaryExpression.js";
|
|
3
|
+
export * from "./functions/extractLogicalExpression.js";
|
|
4
|
+
export * from "./functions/getCallExpressionArguments.js";
|
|
5
|
+
export * from "./functions/getCallExpressionIdentifier.js";
|
|
6
|
+
export * from "./functions/getMemberExpressionIdentifier.js";
|
|
7
|
+
export * from "./functions/getVariableDeclarationIdentifiers.js";
|
|
8
|
+
export * from "./functions/toLiteral.js";
|
|
9
|
+
export * from "./types.js";
|
|
10
|
+
export * from "./literal.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/estree/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AACxD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,8CAA8C,CAAC;AAC7D,cAAc,kDAAkD,CAAC;AACjE,cAAc,0BAA0B,CAAC;AACzC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"literal.d.ts","sourceRoot":"","sources":["../../src/estree/literal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,OAAO,CACrB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,GACpC,MAAM,CAER;AAED,wBAAgB,KAAK,CACnB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,GACpC,MAAM,GAAG,SAAS,CAEpB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function toValue(strOrLiteral) {
|
|
2
|
+
return typeof strOrLiteral === "string" ? strOrLiteral : String(strOrLiteral.value);
|
|
3
|
+
}
|
|
4
|
+
export function toRaw(strOrLiteral) {
|
|
5
|
+
return typeof strOrLiteral === "string" ? strOrLiteral : strOrLiteral.raw;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=literal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../src/estree/literal.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,OAAO,CACrB,YAAqC;IAErC,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,YAAqC;IAErC,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC;AAC5E,CAAC"}
|
|
@@ -9,4 +9,8 @@ export declare function isNode(value: unknown): value is ESTree.Node;
|
|
|
9
9
|
export declare function isLiteral(node: unknown): node is Literal<string>;
|
|
10
10
|
export declare function isTemplateLiteral(node: unknown): node is ESTree.TemplateLiteral;
|
|
11
11
|
export declare function isCallExpression(node: unknown): node is ESTree.CallExpression;
|
|
12
|
-
|
|
12
|
+
export interface DefaultOptions {
|
|
13
|
+
externalIdentifierLookup?(name: string): string | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function noop(_name: string): string | null;
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/estree/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG;IACxC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,MAAM,CAAC,aAAa,GAAG;IACpD,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAEF,wBAAgB,MAAM,CACpB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,IAAI,CAOtB;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAIzB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,MAAM,CAAC,eAAe,CAchC;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,MAAM,CAAC,cAAc,CAE/B;AAED,MAAM,WAAW,cAAc;IAC7B,wBAAwB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACxD;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjD"}
|
|
@@ -23,4 +23,7 @@ export function isTemplateLiteral(node) {
|
|
|
23
23
|
export function isCallExpression(node) {
|
|
24
24
|
return isNode(node) && node.type === "CallExpression";
|
|
25
25
|
}
|
|
26
|
-
|
|
26
|
+
export function noop(_name) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/estree/types.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,MAAM,CACpB,KAAc;IAEd,OAAO,CACL,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAa;IAEb,OAAO,MAAM,CAAC,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,KAAK,SAAS;QACvB,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAa;IAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,UAAU,CAAC,IAAI,KAAK,iBAAiB;QACrC,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CACzC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,IAAa;IAEb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACxD,CAAC;AAMD,MAAM,UAAU,IAAI,CAAC,KAAa;IAChC,OAAO,IAAI,CAAC;AACd,CAAC"}
|