MCPcopy Index your code
hub / github.com/nodejs/node / constructor

Method constructor

lib/internal/vm/module.js:272–333  ·  view source on GitHub ↗
(sourceText, options = kEmptyObject)

Source from the content-addressed store, hash-verified

270 #dependencySpecifiers;
271
272 constructor(sourceText, options = kEmptyObject) {
273 validateString(sourceText, 'sourceText');
274 validateObject(options, 'options');
275
276 const {
277 lineOffset = 0,
278 columnOffset = 0,
279 initializeImportMeta,
280 importModuleDynamically,
281 context,
282 identifier,
283 cachedData,
284 } = options;
285
286 validateInt32(lineOffset, 'options.lineOffset');
287 validateInt32(columnOffset, 'options.columnOffset');
288
289 if (initializeImportMeta !== undefined) {
290 validateFunction(initializeImportMeta, 'options.initializeImportMeta');
291 }
292
293 if (importModuleDynamically !== undefined) {
294 validateFunction(importModuleDynamically, 'options.importModuleDynamically');
295 }
296
297 if (cachedData !== undefined) {
298 validateBuffer(cachedData, 'options.cachedData');
299 }
300
301 super({
302 sourceText,
303 context,
304 identifier,
305 lineOffset,
306 columnOffset,
307 cachedData,
308 initializeImportMeta,
309 importModuleDynamically,
310 });
311
312 const registry = {
313 __proto__: null,
314 initializeImportMeta: options.initializeImportMeta,
315 importModuleDynamically: options.importModuleDynamically ?
316 importModuleDynamicallyWrap(options.importModuleDynamically) :
317 undefined,
318 };
319 // This will take precedence over the referrer as the object being
320 // passed into the callbacks.
321 registry.callbackReferrer = this;
322 const { registerModule } = require('internal/modules/esm/utils');
323 registerModule(this[kWrap], registry);
324
325 this.#moduleRequests = ObjectFreeze(ArrayPrototypeMap(this[kWrap].getModuleRequests(), (request) => {
326 return ObjectFreeze({
327 __proto__: null,
328 specifier: request.specifier,
329 attributes: request.attributes,

Callers

nothing calls this directly

Calls 4

registerModuleFunction · 0.85
phaseEnumToPhaseNameFunction · 0.85
requireFunction · 0.50

Tested by

no test coverage detected