保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
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));