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