Skip to content
Permalink
Browse files

esm: use primordials

Converted uses of Object and Map to use frozen built
in primordials.

PR-URL: #26954
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
  • Loading branch information...
MylesBorins authored and targos committed Mar 28, 2019
1 parent 6bc2ab1 commit 7a547098d5b13e14b8ad86145fd889fb18b7f3d4
@@ -17,7 +17,12 @@ const { pathToFileURL, fileURLToPath } = require('internal/url');
const { ERR_ENTRY_TYPE_MISMATCH,
ERR_UNKNOWN_FILE_EXTENSION } = require('internal/errors').codes;

const realpathCache = new Map();
const {
Object,
SafeMap
} = primordials;

const realpathCache = new SafeMap();

// const TYPE_NONE = 0;
const TYPE_COMMONJS = 1;
@@ -22,6 +22,11 @@ const FunctionBind = Function.call.bind(Function.prototype.bind);

const debug = require('internal/util/debuglog').debuglog('esm');

const {
Object,
SafeMap
} = primordials;

/* A Loader instance is used as the main entry point for loading ES modules.
* Currently, this is a singleton -- there is only one used for loading
* the main module and everything in its dependency graph. */
@@ -35,7 +40,7 @@ class Loader {
this.moduleMap = new ModuleMap();

// Map of already-loaded CJS modules to use
this.cjsCache = new Map();
this.cjsCache = new SafeMap();

// The resolver has the signature
// (specifier : string, parentURL : string, defaultResolve)
@@ -13,6 +13,7 @@ const createDynamicModule = require(
const fs = require('fs');
const {
SafeMap,
JSON
} = primordials;
const { fileURLToPath, URL } = require('url');
const { debuglog } = require('internal/util/debuglog');

0 comments on commit 7a54709

Please sign in to comment.
You can’t perform that action at this time.