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/plugin-transform-classes/lib/transformClass.js | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 deletions(-) diff --git a/PAMapp/node_modules/@babel/plugin-transform-classes/lib/transformClass.js b/PAMapp/node_modules/@babel/plugin-transform-classes/lib/transformClass.js index cbb20b8..818cc3b 100644 --- a/PAMapp/node_modules/@babel/plugin-transform-classes/lib/transformClass.js +++ b/PAMapp/node_modules/@babel/plugin-transform-classes/lib/transformClass.js @@ -9,6 +9,8 @@ var _helperReplaceSupers = require("@babel/helper-replace-supers"); +var _helperEnvironmentVisitor = require("@babel/helper-environment-visitor"); + var _helperOptimiseCallExpression = require("@babel/helper-optimise-call-expression"); var _core = require("@babel/core"); @@ -49,6 +51,7 @@ superThises: [], pushedConstructor: false, pushedInherits: false, + pushedCreateClass: false, protoAlias: null, isLoose: false, dynamicKeys: new Map(), @@ -70,12 +73,16 @@ Object.assign(classState, newState); }; - const findThisesVisitor = _core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { + const findThisesVisitor = _core.traverse.visitors.merge([_helperEnvironmentVisitor.default, { ThisExpression(path) { classState.superThises.push(path); } }]); + + function createClassHelper(args) { + return _core.types.callExpression(classState.file.addHelper("createClass"), args); + } function maybeCreateConstructor() { let hasConstructor = false; @@ -152,7 +159,7 @@ }); replaceSupers.replace(); const superReturns = []; - path.traverse(_core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { + path.traverse(_core.traverse.visitors.merge([_helperEnvironmentVisitor.default, { ReturnStatement(path) { if (!path.getFunctionParent().isArrowFunctionExpression()) { superReturns.push(path); @@ -205,7 +212,8 @@ } args = args.slice(0, lastNonNullIndex + 1); - body.push(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper("createClass"), args))); + body.push(_core.types.expressionStatement(createClassHelper(args))); + classState.pushedCreateClass = true; } } @@ -272,7 +280,7 @@ } const bareSupers = new Set(); - path.traverse(_core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { + path.traverse(_core.traverse.visitors.merge([_helperEnvironmentVisitor.default, { Super(path) { const { node, @@ -592,10 +600,18 @@ } if (constructorOnly) { - return _core.types.toExpression(body[0]); + const expr = _core.types.toExpression(body[0]); + + return classState.isLoose ? expr : createClassHelper([expr]); } - body.push(_core.types.returnStatement(_core.types.cloneNode(classState.classRef))); + let returnArg = _core.types.cloneNode(classState.classRef); + + if (!classState.pushedCreateClass && !classState.isLoose) { + returnArg = createClassHelper([returnArg]); + } + + body.push(_core.types.returnStatement(returnArg)); const container = _core.types.arrowFunctionExpression(closureParams, _core.types.blockStatement(body, directives)); -- Gitblit v1.8.0