summaryrefslogtreecommitdiff
path: root/lib/vm.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vm.js')
-rw-r--r--lib/vm.js20
1 files changed, 5 insertions, 15 deletions
diff --git a/lib/vm.js b/lib/vm.js
index ec6614e661..90f332c775 100644
--- a/lib/vm.js
+++ b/lib/vm.js
@@ -31,10 +31,8 @@ const {
} = internalBinding('contextify');
const {
ERR_INVALID_ARG_TYPE,
- ERR_VM_MODULE_NOT_MODULE,
} = require('internal/errors').codes;
const {
- isModuleNamespaceObject,
isArrayBufferView,
} = require('internal/util/types');
const {
@@ -100,21 +98,13 @@ class Script extends ContextifyScript {
'function',
importModuleDynamically);
}
- const { wrapMap, linkingStatusMap } =
+ const { importModuleDynamicallyWrap } =
require('internal/vm/source_text_module');
const { callbackMap } = internalBinding('module_wrap');
- callbackMap.set(this, { importModuleDynamically: async (...args) => {
- const m = await importModuleDynamically(...args);
- if (isModuleNamespaceObject(m)) {
- return m;
- }
- if (!m || !wrapMap.has(m))
- throw new ERR_VM_MODULE_NOT_MODULE();
- const childLinkingStatus = linkingStatusMap.get(m);
- if (childLinkingStatus === 'errored')
- throw m.error;
- return m.namespace;
- } });
+ callbackMap.set(this, {
+ importModuleDynamically:
+ importModuleDynamicallyWrap(importModuleDynamically),
+ });
}
}