summaryrefslogtreecommitdiff
path: root/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2023-10-14 15:31:11 +0800
committerlittleblack111 <littleblack11111@gmail.com>2023-10-14 15:31:11 +0800
commitaa773172311dcada759dfbaac485f4bc6e00bc21 (patch)
treeca6d9a5eff3ab8f689f9acb4f0df791d9486813d /node_modules/@babel/helper-module-transforms/lib/dynamic-import.js
parentc5a5384e846f242e901e859fe600d695d8990a9a (diff)
added babel
Diffstat (limited to 'node_modules/@babel/helper-module-transforms/lib/dynamic-import.js')
-rw-r--r--node_modules/@babel/helper-module-transforms/lib/dynamic-import.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js b/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js
new file mode 100644
index 00000000..90fcea61
--- /dev/null
+++ b/node_modules/@babel/helper-module-transforms/lib/dynamic-import.js
@@ -0,0 +1,48 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.buildDynamicImport = buildDynamicImport;
+var _core = require("@babel/core");
+{
+ exports.getDynamicImportSource = function getDynamicImportSource(node) {
+ const [source] = node.arguments;
+ return _core.types.isStringLiteral(source) || _core.types.isTemplateLiteral(source) ? source : _core.template.expression.ast`\`\${${source}}\``;
+ };
+}
+function buildDynamicImport(node, deferToThen, wrapWithPromise, builder) {
+ const specifier = _core.types.isCallExpression(node) ? node.arguments[0] : node.source;
+ if (_core.types.isStringLiteral(specifier) || _core.types.isTemplateLiteral(specifier) && specifier.quasis.length === 0) {
+ if (deferToThen) {
+ return _core.template.expression.ast`
+ Promise.resolve().then(() => ${builder(specifier)})
+ `;
+ } else return builder(specifier);
+ }
+ const specifierToString = _core.types.isTemplateLiteral(specifier) ? _core.types.identifier("specifier") : _core.types.templateLiteral([_core.types.templateElement({
+ raw: ""
+ }), _core.types.templateElement({
+ raw: ""
+ })], [_core.types.identifier("specifier")]);
+ if (deferToThen) {
+ return _core.template.expression.ast`
+ (specifier =>
+ new Promise(r => r(${specifierToString}))
+ .then(s => ${builder(_core.types.identifier("s"))})
+ )(${specifier})
+ `;
+ } else if (wrapWithPromise) {
+ return _core.template.expression.ast`
+ (specifier =>
+ new Promise(r => r(${builder(specifierToString)}))
+ )(${specifier})
+ `;
+ } else {
+ return _core.template.expression.ast`
+ (specifier => ${builder(specifierToString)})(${specifier})
+ `;
+ }
+}
+
+//# sourceMappingURL=dynamic-import.js.map