Skip to content

memoizeWeak

memoizeWeak<A, B>(f): (a) => B

Defined in: Composition/memoize.ts:63

Creates a memoized version of a function using WeakMap. Only works with object arguments, but allows garbage collection of cached values when keys are no longer referenced.

A extends object

B

(a) => B

(a): B

A

B

const processUser = memoizeWeak((user: User) => {
  return expensiveOperation(user);
});

const user = { id: 1, name: "Alice" };
processUser(user); // computed
processUser(user); // cached
// When `user` is garbage collected, cached result is too