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