From 9bdb95c9e34cef640534e5e5a1e2225a80442000 Mon Sep 17 00:00:00 2001 From: HelenHuang <LinHuang@pollex.com.tw> Date: 星期四, 09 六月 2022 15:48:15 +0800 Subject: [PATCH] TODO#139894 [ footer -最下方說明與保經代合作 ] 文案修改 --- PAMapp/node_modules/@babel/helpers/lib/index.js | 147 +++++++++++++++++++++++-------------------------- 1 files changed, 69 insertions(+), 78 deletions(-) diff --git a/PAMapp/node_modules/@babel/helpers/lib/index.js b/PAMapp/node_modules/@babel/helpers/lib/index.js index d80cbd8..511c6c5 100644 --- a/PAMapp/node_modules/@babel/helpers/lib/index.js +++ b/PAMapp/node_modules/@babel/helpers/lib/index.js @@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.get = get; -exports.minVersion = minVersion; -exports.getDependencies = getDependencies; +exports.default = void 0; exports.ensure = ensure; -exports.default = exports.list = void 0; +exports.get = get; +exports.getDependencies = getDependencies; +exports.list = void 0; +exports.minVersion = minVersion; var _traverse = require("@babel/traverse"); @@ -19,10 +20,8 @@ assignmentExpression, cloneNode, expressionStatement, - file: t_file, - identifier, - variableDeclaration, - variableDeclarator + file, + identifier } = _t; function makePath(path) { @@ -36,7 +35,7 @@ return parts.reverse().join("."); } -let fileClass = undefined; +let FileClass = undefined; function getHelperMetadata(file) { const globals = new Set(); @@ -67,14 +66,11 @@ ExportDefaultDeclaration(child) { const decl = child.get("declaration"); - if (decl.isFunctionDeclaration()) { - if (!decl.node.id) { - throw decl.buildCodeFrameError("Helpers should give names to their exported func declaration"); - } - - exportName = decl.node.id.name; + if (!decl.isFunctionDeclaration() || !decl.node.id) { + throw decl.buildCodeFrameError("Helpers can only export named function declarations"); } + exportName = decl.node.id.name; exportPath = makePath(child); }, @@ -131,7 +127,7 @@ }; (0, _traverse.default)(file.ast, dependencyVisitor, file.scope); (0, _traverse.default)(file.ast, referenceVisitor, file.scope); - if (!exportPath) throw new Error("Helpers must default-export something."); + if (!exportPath) throw new Error("Helpers must have a default export."); exportBindingAssignments.reverse(); return { globals: Array.from(globals), @@ -178,50 +174,37 @@ toRename[exportName] = id.name; } - const visitor = { - Program(path) { - const exp = path.get(exportPath); - const imps = importPaths.map(p => path.get(p)); - const impsBindingRefs = importBindingsReferences.map(p => path.get(p)); - const decl = exp.get("declaration"); + const { + path + } = file; + const exp = path.get(exportPath); + const imps = importPaths.map(p => path.get(p)); + const impsBindingRefs = importBindingsReferences.map(p => path.get(p)); + const decl = exp.get("declaration"); - if (id.type === "Identifier") { - if (decl.isFunctionDeclaration()) { - exp.replaceWith(decl); - } else { - exp.replaceWith(variableDeclaration("var", [variableDeclarator(id, decl.node)])); - } - } else if (id.type === "MemberExpression") { - if (decl.isFunctionDeclaration()) { - exportBindingAssignments.forEach(assignPath => { - const assign = path.get(assignPath); - assign.replaceWith(assignmentExpression("=", id, assign.node)); - }); - exp.replaceWith(decl); - path.pushContainer("body", expressionStatement(assignmentExpression("=", id, identifier(exportName)))); - } else { - exp.replaceWith(expressionStatement(assignmentExpression("=", id, decl.node))); - } - } else { - throw new Error("Unexpected helper format."); - } + if (id.type === "Identifier") { + exp.replaceWith(decl); + } else if (id.type === "MemberExpression") { + exportBindingAssignments.forEach(assignPath => { + const assign = path.get(assignPath); + assign.replaceWith(assignmentExpression("=", id, assign.node)); + }); + exp.replaceWith(decl); + path.pushContainer("body", expressionStatement(assignmentExpression("=", id, identifier(exportName)))); + } else { + throw new Error("Unexpected helper format."); + } - Object.keys(toRename).forEach(name => { - path.scope.rename(name, toRename[name]); - }); + Object.keys(toRename).forEach(name => { + path.scope.rename(name, toRename[name]); + }); - for (const path of imps) path.remove(); + for (const path of imps) path.remove(); - for (const path of impsBindingRefs) { - const node = cloneNode(dependenciesRefs[path.node.name]); - path.replaceWith(node); - } - - path.stop(); - } - - }; - (0, _traverse.default)(file.ast, visitor, file.scope); + for (const path of impsBindingRefs) { + const node = cloneNode(dependenciesRefs[path.node.name]); + path.replaceWith(node); + } } const helperData = Object.create(null); @@ -238,23 +221,34 @@ } const fn = () => { - const file = { - ast: t_file(helper.ast()) - }; - - if (fileClass) { - return new fileClass({ - filename: `babel-helper://${name}` - }, file); + { + if (!FileClass) { + const fakeFile = { + ast: file(helper.ast()), + path: null + }; + (0, _traverse.default)(fakeFile.ast, { + Program: path => (fakeFile.path = path).stop() + }); + return fakeFile; + } } - - return file; + return new FileClass({ + filename: `babel-helper://${name}` + }, { + ast: file(helper.ast()), + code: "[internal Babel helper code]", + inputMap: null + }); }; - const metadata = getHelperMetadata(fn()); + let metadata = null; helperData[name] = { + minVersion: helper.minVersion, + build(getDependency, id, localBindings) { const file = fn(); + metadata || (metadata = getHelperMetadata(file)); permuteHelperAST(file, metadata, id, localBindings, getDependency); return { nodes: file.ast.program.body, @@ -262,11 +256,11 @@ }; }, - minVersion() { - return helper.minVersion; - }, + getDependencies() { + metadata || (metadata = getHelperMetadata(fn())); + return Array.from(metadata.dependencies.values()); + } - dependencies: metadata.dependencies }; } @@ -278,22 +272,19 @@ } function minVersion(name) { - return loadHelper(name).minVersion(); + return loadHelper(name).minVersion; } function getDependencies(name) { - return Array.from(loadHelper(name).dependencies.values()); + return loadHelper(name).getDependencies(); } function ensure(name, newFileClass) { - if (!fileClass) { - fileClass = newFileClass; - } - + FileClass || (FileClass = newFileClass); loadHelper(name); } -const list = Object.keys(_helpers.default).map(name => name.replace(/^_/, "")).filter(name => name !== "__esModule"); +const list = Object.keys(_helpers.default).map(name => name.replace(/^_/, "")); exports.list = list; var _default = get; exports.default = _default; \ No newline at end of file -- Gitblit v1.8.0