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>
WeakTupleMap<K, V>weakTupleMap.cachedProvide(compute, thisArg, args): 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.
weakTupleMap.clear(): void
Clears the stored value and all strong and weak child maps from this node.
weakTupleMap.delete(...args?): void
any[]Removes the value stored for the tuple key without pruning the trie.
weakTupleMap.get(...args?): V | undefined
Returns the value stored for the exact tuple key, if any.
weakTupleMap.has(...args?): boolean
Checks whether the exact tuple key has a stored value.
weakTupleMap.provide(...args?): V
[K, ...((args: K) => V)[]]VReturns an existing value for the tuple or computes, stores, and returns a new one when the tuple is missing.
weakTupleMap.set(...args?): void
[K, ...V[]]Stores a value at the node identified by the provided tuple key.