/home2/dakshskx/nodejs/lib/node_modules/npm/node_modules/@npmcli/arborist/lib
NameSizeModeActions
arborist/-0755rm
add-rm-pkg-deps.js50100644editdlrm
audit-report.js122820644editdlrm
calc-dep-flags.js31480644editdlrm
can-place-dep.js142730644editdlrm
case-insensitive-map.js13560644editdlrm
consistent-resolve.js14320644editdlrm
debug.js12280644editdlrm
deepest-nesting-target.js6910644editdlrm
dep-valid.js49900644editdlrm
diff.js97980644editdlrm
edge.js69830644editdlrm
from-path.js10690644editdlrm
gather-dep-set.js12860644editdlrm
get-workspace-nodes.js8630644editdlrm
index.js3530644editdlrm
inventory.js32720644editdlrm
link.js36910644editdlrm
node.js440930644editdlrm
optional-set.js13530644editdlrm
override-resolves.js2300644editdlrm
override-set.js26030644editdlrm
peer-entry-sets.js26320644editdlrm
place-dep.js202070644editdlrm
printable.js52170644editdlrm
query-selector-all.js168270644editdlrm
realpath.js27370644editdlrm
relpath.js1310644editdlrm
reset-dep-flags.js6380644editdlrm
retire-path.js4910644editdlrm
shrinkwrap.js379130644editdlrm
signal-handling.js22450644editdlrm
signals.js13810644editdlrm
spec-from-lock.js8740644editdlrm
tracker.js33730644editdlrm
tree-check.js41210644editdlrm
version-from-tgz.js14890644editdlrm
vuln.js58580644editdlrm
yarn-lock.js102890644editdlrm
Edit: /home2/dakshskx/nodejs/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/override-set.js (2603B)
const npa = require('npm-package-arg') const semver = require('semver') class OverrideSet { constructor ({ overrides, key, parent }) { this.parent = parent this.children = new Map() if (typeof overrides === 'string') { overrides = { '.': overrides } } // change a literal empty string to * so we can use truthiness checks on // the value property later if (overrides['.'] === '') { overrides['.'] = '*' } if (parent) { const spec = npa(key) if (!spec.name) { throw new Error(`Override without name: ${key}`) } this.name = spec.name spec.name = '' this.key = key this.keySpec = spec.rawSpec === '' ? '' : spec.toString() this.value = overrides['.'] || this.keySpec } for (const [key, childOverrides] of Object.entries(overrides)) { if (key === '.') { continue } const child = new OverrideSet({ parent: this, key, overrides: childOverrides, }) this.children.set(child.key, child) } } getEdgeRule (edge) { for (const rule of this.ruleset.values()) { if (rule.name !== edge.name) { continue } if (rule.keySpec === '' || semver.intersects(edge.spec, rule.keySpec)) { return rule } } return this } getNodeRule (node) { for (const rule of this.ruleset.values()) { if (rule.name !== node.name) { continue } if (rule.keySpec === '' || semver.satisfies(node.version, rule.keySpec) || semver.satisfies(node.version, rule.value)) { return rule } } return this } getMatchingRule (node) { for (const rule of this.ruleset.values()) { if (rule.name !== node.name) { continue } if (rule.keySpec === '' || semver.satisfies(node.version, rule.keySpec) || semver.satisfies(node.version, rule.value)) { return rule } } return null } * ancestry () { for (let ancestor = this; ancestor; ancestor = ancestor.parent) { yield ancestor } } get isRoot () { return !this.parent } get ruleset () { const ruleset = new Map() for (const override of this.ancestry()) { for (const kid of override.children.values()) { if (!ruleset.has(kid.key)) { ruleset.set(kid.key, kid) } } if (!override.isRoot && !ruleset.has(override.key)) { ruleset.set(override.key, override) } } return ruleset } } module.exports = OverrideSet