diff options
Diffstat (limited to 'node_modules/@babel/helper-module-imports/lib/import-injector.js')
| -rw-r--r-- | node_modules/@babel/helper-module-imports/lib/import-injector.js | 283 |
1 files changed, 0 insertions, 283 deletions
diff --git a/node_modules/@babel/helper-module-imports/lib/import-injector.js b/node_modules/@babel/helper-module-imports/lib/import-injector.js deleted file mode 100644 index 01991f11..00000000 --- a/node_modules/@babel/helper-module-imports/lib/import-injector.js +++ /dev/null @@ -1,283 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _assert() { - const data = _interopRequireDefault(require("assert")); - - _assert = function _assert() { - return data; - }; - - return data; -} - -function t() { - const data = _interopRequireWildcard(require("@babel/types")); - - t = function t() { - return data; - }; - - return data; -} - -var _importBuilder = _interopRequireDefault(require("./import-builder")); - -var _isModule = _interopRequireDefault(require("./is-module")); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class ImportInjector { - constructor(path, importedSource, opts) { - this._defaultOpts = { - importedSource: null, - importedType: "commonjs", - importedInterop: "babel", - importingInterop: "babel", - ensureLiveReference: false, - ensureNoContext: false - }; - const programPath = path.find(p => p.isProgram()); - this._programPath = programPath; - this._programScope = programPath.scope; - this._file = programPath.hub.file; - this._defaultOpts = this._applyDefaults(importedSource, opts, true); - } - - addDefault(importedSourceIn, opts) { - return this.addNamed("default", importedSourceIn, opts); - } - - addNamed(importName, importedSourceIn, opts) { - (0, _assert().default)(typeof importName === "string"); - return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName); - } - - addNamespace(importedSourceIn, opts) { - return this._generateImport(this._applyDefaults(importedSourceIn, opts), null); - } - - addSideEffect(importedSourceIn, opts) { - return this._generateImport(this._applyDefaults(importedSourceIn, opts), false); - } - - _applyDefaults(importedSource, opts, isInit = false) { - const optsList = []; - - if (typeof importedSource === "string") { - optsList.push({ - importedSource - }); - optsList.push(opts); - } else { - (0, _assert().default)(!opts, "Unexpected secondary arguments."); - optsList.push(importedSource); - } - - const newOpts = Object.assign({}, this._defaultOpts); - - for (var _i = 0; _i < optsList.length; _i++) { - const opts = optsList[_i]; - if (!opts) continue; - Object.keys(newOpts).forEach(key => { - if (opts[key] !== undefined) newOpts[key] = opts[key]; - }); - - if (!isInit) { - if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint; - if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist; - } - } - - return newOpts; - } - - _generateImport(opts, importName) { - const isDefault = importName === "default"; - const isNamed = !!importName && !isDefault; - const isNamespace = importName === null; - const importedSource = opts.importedSource, - importedType = opts.importedType, - importedInterop = opts.importedInterop, - importingInterop = opts.importingInterop, - ensureLiveReference = opts.ensureLiveReference, - ensureNoContext = opts.ensureNoContext, - nameHint = opts.nameHint, - blockHoist = opts.blockHoist; - let name = nameHint || importName; - const isMod = (0, _isModule.default)(this._programPath); - const isModuleForNode = isMod && importingInterop === "node"; - const isModuleForBabel = isMod && importingInterop === "babel"; - const builder = new _importBuilder.default(importedSource, this._programScope, this._file); - - if (importedType === "es6") { - if (!isModuleForNode && !isModuleForBabel) { - throw new Error("Cannot import an ES6 module from CommonJS"); - } - - builder.import(); - - if (isNamespace) { - builder.namespace(nameHint || importedSource); - } else if (isDefault || isNamed) { - builder.named(name, importName); - } - } else if (importedType !== "commonjs") { - throw new Error(`Unexpected interopType "${importedType}"`); - } else if (importedInterop === "babel") { - if (isModuleForNode) { - name = name !== "default" ? name : importedSource; - const es6Default = `${importedSource}$es6Default`; - builder.import(); - - if (isNamespace) { - builder.default(es6Default).var(name || importedSource).wildcardInterop(); - } else if (isDefault) { - if (ensureLiveReference) { - builder.default(es6Default).var(name || importedSource).defaultInterop().read("default"); - } else { - builder.default(es6Default).var(name).defaultInterop().prop(importName); - } - } else if (isNamed) { - builder.default(es6Default).read(importName); - } - } else if (isModuleForBabel) { - builder.import(); - - if (isNamespace) { - builder.namespace(name || importedSource); - } else if (isDefault || isNamed) { - builder.named(name, importName); - } - } else { - builder.require(); - - if (isNamespace) { - builder.var(name || importedSource).wildcardInterop(); - } else if ((isDefault || isNamed) && ensureLiveReference) { - if (isDefault) { - name = name !== "default" ? name : importedSource; - builder.var(name).read(importName); - builder.defaultInterop(); - } else { - builder.var(importedSource).read(importName); - } - } else if (isDefault) { - builder.var(name).defaultInterop().prop(importName); - } else if (isNamed) { - builder.var(name).prop(importName); - } - } - } else if (importedInterop === "compiled") { - if (isModuleForNode) { - builder.import(); - - if (isNamespace) { - builder.default(name || importedSource); - } else if (isDefault || isNamed) { - builder.default(importedSource).read(name); - } - } else if (isModuleForBabel) { - builder.import(); - - if (isNamespace) { - builder.namespace(name || importedSource); - } else if (isDefault || isNamed) { - builder.named(name, importName); - } - } else { - builder.require(); - - if (isNamespace) { - builder.var(name || importedSource); - } else if (isDefault || isNamed) { - if (ensureLiveReference) { - builder.var(importedSource).read(name); - } else { - builder.prop(importName).var(name); - } - } - } - } else if (importedInterop === "uncompiled") { - if (isDefault && ensureLiveReference) { - throw new Error("No live reference for commonjs default"); - } - - if (isModuleForNode) { - builder.import(); - - if (isNamespace) { - builder.default(name || importedSource); - } else if (isDefault) { - builder.default(name); - } else if (isNamed) { - builder.default(importedSource).read(name); - } - } else if (isModuleForBabel) { - builder.import(); - - if (isNamespace) { - builder.default(name || importedSource); - } else if (isDefault) { - builder.default(name); - } else if (isNamed) { - builder.named(name, importName); - } - } else { - builder.require(); - - if (isNamespace) { - builder.var(name || importedSource); - } else if (isDefault) { - builder.var(name); - } else if (isNamed) { - if (ensureLiveReference) { - builder.var(importedSource).read(name); - } else { - builder.var(name).prop(importName); - } - } - } - } else { - throw new Error(`Unknown importedInterop "${importedInterop}".`); - } - - const _builder$done = builder.done(), - statements = _builder$done.statements, - resultName = _builder$done.resultName; - - this._insertStatements(statements, blockHoist); - - if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") { - return t().sequenceExpression([t().numericLiteral(0), resultName]); - } - - return resultName; - } - - _insertStatements(statements, blockHoist = 3) { - statements.forEach(node => { - node._blockHoist = blockHoist; - }); - - const targetPath = this._programPath.get("body").filter(p => { - const val = p.node._blockHoist; - return Number.isFinite(val) && val < 4; - })[0]; - - if (targetPath) { - targetPath.insertBefore(statements); - } else { - this._programPath.unshiftContainer("body", statements); - } - } - -} - -exports.default = ImportInjector;
\ No newline at end of file |
