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/helper-create-class-features-plugin/lib/fields.js |   48 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/PAMapp/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js b/PAMapp/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js
index 48bd181..75071e1 100644
--- a/PAMapp/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js
+++ b/PAMapp/node_modules/@babel/helper-create-class-features-plugin/lib/fields.js
@@ -3,14 +3,16 @@
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
+exports.buildFieldsInitNodes = buildFieldsInitNodes;
 exports.buildPrivateNamesMap = buildPrivateNamesMap;
 exports.buildPrivateNamesNodes = buildPrivateNamesNodes;
 exports.transformPrivateNamesUsage = transformPrivateNamesUsage;
-exports.buildFieldsInitNodes = buildFieldsInitNodes;
 
 var _core = require("@babel/core");
 
 var _helperReplaceSupers = require("@babel/helper-replace-supers");
+
+var _helperEnvironmentVisitor = require("@babel/helper-environment-visitor");
 
 var _helperMemberExpressionToFunctions = require("@babel/helper-member-expression-to-functions");
 
@@ -116,7 +118,7 @@
 
   });
 
-  const nestedVisitor = _core.traverse.visitors.merge([Object.assign({}, visitor), _helperReplaceSupers.environmentVisitor]);
+  const nestedVisitor = _core.traverse.visitors.merge([Object.assign({}, visitor), _helperEnvironmentVisitor.default]);
 
   return privateNameVisitor;
 }
@@ -725,7 +727,7 @@
     }
   }
 
-}, _helperReplaceSupers.environmentVisitor]);
+}, _helperEnvironmentVisitor.default]);
 
 const innerReferencesVisitor = {
   ReferencedIdentifier(path, state) {
@@ -754,7 +756,7 @@
 
     getObjectRef() {
       state.needsClassRef = true;
-      return isStaticBlock || path.node.static ? ref : _core.types.memberExpression(ref, _core.types.identifier("prototype"));
+      return _core.types.isStaticBlock != null && _core.types.isStaticBlock(path.node) || path.node.static ? ref : _core.types.memberExpression(ref, _core.types.identifier("prototype"));
     }
 
   });
@@ -769,6 +771,21 @@
   }
 
   return state.needsClassRef;
+}
+
+function isNameOrLength({
+  key,
+  computed
+}) {
+  if (key.type === "Identifier") {
+    return !computed && (key.name === "name" || key.name === "length");
+  }
+
+  if (key.type === "StringLiteral") {
+    return key.value === "name" || key.value === "length";
+  }
+
+  return false;
 }
 
 function buildFieldsInitNodes(ref, superRef, props, privateNamesMap, state, setPublicClassFields, privateFieldsAsProperties, constantSuper, innerBindingRef) {
@@ -786,7 +803,7 @@
 
   for (const prop of props) {
     prop.isClassProperty() && ts.assertFieldTransformed(prop);
-    const isStatic = prop.node.static;
+    const isStatic = !(_core.types.isStaticBlock != null && _core.types.isStaticBlock(prop.node)) && prop.node.static;
     const isInstance = !isStatic;
     const isPrivate = prop.isPrivate();
     const isPublic = !isPrivate;
@@ -801,8 +818,17 @@
 
     switch (true) {
       case isStaticBlock:
-        staticNodes.push(_core.template.statement.ast`(() => ${_core.types.blockStatement(prop.node.body)})()`);
-        break;
+        {
+          const blockBody = prop.node.body;
+
+          if (blockBody.length === 1 && _core.types.isExpressionStatement(blockBody[0])) {
+            staticNodes.push(blockBody[0]);
+          } else {
+            staticNodes.push(_core.template.statement.ast`(() => { ${blockBody} })()`);
+          }
+
+          break;
+        }
 
       case isStatic && isPrivate && isField && privateFieldsAsProperties:
         needsClassRef = true;
@@ -815,9 +841,11 @@
         break;
 
       case isStatic && isPublic && isField && setPublicClassFields:
-        needsClassRef = true;
-        staticNodes.push(buildPublicFieldInitLoose(_core.types.cloneNode(ref), prop));
-        break;
+        if (!isNameOrLength(prop.node)) {
+          needsClassRef = true;
+          staticNodes.push(buildPublicFieldInitLoose(_core.types.cloneNode(ref), prop));
+          break;
+        }
 
       case isStatic && isPublic && isField && !setPublicClassFields:
         needsClassRef = true;

--
Gitblit v1.8.0