From aa773172311dcada759dfbaac485f4bc6e00bc21 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Sat, 14 Oct 2023 15:31:11 +0800 Subject: added babel --- .../lib/shadow-utils.js | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 node_modules/@babel/plugin-transform-parameters/lib/shadow-utils.js (limited to 'node_modules/@babel/plugin-transform-parameters/lib/shadow-utils.js') diff --git a/node_modules/@babel/plugin-transform-parameters/lib/shadow-utils.js b/node_modules/@babel/plugin-transform-parameters/lib/shadow-utils.js new file mode 100644 index 00000000..0b85a50f --- /dev/null +++ b/node_modules/@babel/plugin-transform-parameters/lib/shadow-utils.js @@ -0,0 +1,65 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.buildScopeIIFE = buildScopeIIFE; +exports.collectShadowedParamsNames = collectShadowedParamsNames; +exports.iifeVisitor = void 0; +var _core = require("@babel/core"); +const iifeVisitor = { + "ReferencedIdentifier|BindingIdentifier"(path, state) { + const { + scope, + node + } = path; + const { + name + } = node; + if (name === "eval" || scope.getBinding(name) === state.scope.parent.getBinding(name) && state.scope.hasOwnBinding(name)) { + state.needsOuterBinding = true; + path.stop(); + } + }, + "TypeAnnotation|TSTypeAnnotation|TypeParameterDeclaration|TSTypeParameterDeclaration": path => path.skip() +}; +exports.iifeVisitor = iifeVisitor; +function collectShadowedParamsNames(param, functionScope, shadowedParams) { + for (const name of Object.keys(param.getBindingIdentifiers())) { + var _functionScope$bindin; + const constantViolations = (_functionScope$bindin = functionScope.bindings[name]) == null ? void 0 : _functionScope$bindin.constantViolations; + if (constantViolations) { + for (const redeclarator of constantViolations) { + const node = redeclarator.node; + switch (node.type) { + case "VariableDeclarator": + { + if (node.init === null) { + const declaration = redeclarator.parentPath; + if (!declaration.parentPath.isFor() || declaration.parentPath.get("body") === declaration) { + redeclarator.remove(); + break; + } + } + shadowedParams.add(name); + break; + } + case "FunctionDeclaration": + shadowedParams.add(name); + break; + } + } + } + } +} +function buildScopeIIFE(shadowedParams, body) { + const args = []; + const params = []; + for (const name of shadowedParams) { + args.push(_core.types.identifier(name)); + params.push(_core.types.identifier(name)); + } + return _core.types.returnStatement(_core.types.callExpression(_core.types.arrowFunctionExpression(params, body), args)); +} + +//# sourceMappingURL=shadow-utils.js.map -- cgit v1.2.3