On this page

Stores values by tuple keys while using WeakMap for object elements so the cache can release entries when those objects are collected.

new WeakTupleMap(): WeakTupleMap<K, V>
Returns:WeakTupleMap<K, V>
cachedProvide(compute, thisArg, args): V
Attributes
compute:(thisArg: any, args: K) => V
thisArg:any
args:K
Returns:V

Memoizes compute(thisArg, ...args) under the tuple key [compute, ...args], computing it on a miss. Equivalent to provide(compute, ...args, () => compute(thisArg, ...args)) but without allocating that closure (or an extra rest array) on every call — ModuleGraph#cached runs this on hot paths where most calls hit the cache and the closure would be pure waste.


clear(): void
Returns:void

Clears the stored value and all strong and weak child maps from this node.


delete(...args?): void
Attributes
args:K
Returns:void

Removes the value stored for the tuple key without pruning the trie.


get(...args?): V | undefined
Attributes
args:K
Returns:V | undefined

Returns the value stored for the exact tuple key, if any.


has(...args?): boolean
Attributes
args:K
Returns:boolean

Checks whether the exact tuple key has a stored value.


provide(...args?): V
Attributes
args:[K, ...((args: K) => V)[]]
Returns:V

Returns an existing value for the tuple or computes, stores, and returns a new one when the tuple is missing.


set(...args?): void
Attributes
args:[K, ...V[]]
Returns:void

Stores a value at the node identified by the provided tuple key.