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