1'use strict'; 2 3// Flags: --experimental-vm-modules 4 5const common = require('../common'); 6 7const assert = require('assert'); 8 9const { types } = require('util'); 10const { SourceTextModule } = require('vm'); 11 12(async () => { 13 const m = new SourceTextModule('globalThis.importResult = import("");', { 14 importModuleDynamically: common.mustCall(async (specifier, wrap) => { 15 const m = new SourceTextModule(''); 16 await m.link(() => 0); 17 await m.evaluate(); 18 return m.namespace; 19 }), 20 }); 21 await m.link(() => 0); 22 await m.evaluate(); 23 const ns = await globalThis.importResult; 24 delete globalThis.importResult; 25 assert.ok(types.isModuleNamespaceObject(ns)); 26})().then(common.mustCall()); 27