Skip to content

Commit

Permalink
pref: reduce memory consumation
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Apr 18, 2023
1 parent 05659b7 commit d8176da
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions lib/util/entrypoints.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ module.exports.processExportsField = function processExportsField(
) {
return createFieldProcessor(
buildExportsField(exportsField),
"",
assertExportsFieldRequest,
assertExportTarget
);
Expand All @@ -100,22 +101,24 @@ module.exports.processImportsField = function processImportsField(
) {
return createFieldProcessor(
buildImportsField(importsField),
"#",
assertImportsFieldRequest,
assertImportTarget
);
};

/**
* @param {ExportsField | ImportsField} field root
* @param {string} prefix Request prefix, for `imports` field it is `#`, for `exports` field it is `./`.
* @param {(s: string) => string} assertRequest assertRequest
* @param {(s: string, f: boolean) => void} assertTarget assertTarget
* @returns {FieldProcessor} field processor
*/
function createFieldProcessor(field, assertRequest, assertTarget) {
function createFieldProcessor(field, prefix, assertRequest, assertTarget) {
return function fieldProcessor(request, conditionNames) {
request = assertRequest(request);

const match = findMatch(request, field);
const match = findMatch(prefix + request, field);

if (match === null) return [];

Expand Down Expand Up @@ -570,7 +573,6 @@ function buildExportsField(field) {
*/
function buildImportsField(field) {
const keys = Object.keys(field);
const newField = /** @type {ImportsField} */ ({});

for (let i = 0; i < keys.length; i++) {
const key = keys[i];
Expand All @@ -596,9 +598,7 @@ function buildImportsField(field) {
)})`
);
}

newField[key.slice(1)] = field[key];
}

return newField;
return field;
}

0 comments on commit d8176da

Please sign in to comment.