| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | "use strict";Object.defineProperty(exports, "__esModule", {  value: true});exports.default = void 0;var _helperPluginUtils = require("@babel/helper-plugin-utils");var _helperReplaceSupers = require("@babel/helper-replace-supers");var _core = require("@babel/core");function replacePropertySuper(path, getObjectRef, file) {  const replaceSupers = new _helperReplaceSupers.default({    getObjectRef: getObjectRef,    methodPath: path,    file: file  });  replaceSupers.replace();}var _default = exports.default = (0, _helperPluginUtils.declare)(api => {  api.assertVersion(7);  const newLets = new Set();  return {    name: "transform-object-super",    visitor: {      Loop: {        exit(path) {          newLets.forEach(v => {            if (v.scopePath === path) {              path.scope.push({                id: v.id,                kind: "let"              });              path.scope.crawl();              path.requeue();              newLets.delete(v);            }          });        }      },      ObjectExpression(path, state) {        let objectRef;        const getObjectRef = () => objectRef = objectRef || path.scope.generateUidIdentifier("obj");        path.get("properties").forEach(propPath => {          if (!propPath.isMethod()) return;          replacePropertySuper(propPath, getObjectRef, state.file);        });        if (objectRef) {          const scopePath = path.findParent(p => p.isFunction() || p.isProgram() || p.isLoop());          const useLet = scopePath.isLoop();          if (useLet) {            newLets.add({              scopePath,              id: _core.types.cloneNode(objectRef)            });          } else {            path.scope.push({              id: _core.types.cloneNode(objectRef),              kind: "var"            });          }          path.replaceWith(_core.types.assignmentExpression("=", _core.types.cloneNode(objectRef), path.node));        }      }    }  };});//# sourceMappingURL=index.js.map
 |