MCPcopy Create free account
hub / github.com/clientdb/clientdb / deepMemoize

Function deepMemoize

core/utils/deepMap.ts:114–123  ·  view source on GitHub ↗
(
  callback: (...args: A) => R,
  options?: Options
)

Source from the content-addressed store, hash-verified

112 * Lodash memoize is based on serialization and is only using first arguments as cache keys
113 */
114export function deepMemoize<A extends unknown[], R>(
115 callback: (...args: A) => R,
116 options?: Options
117) {
118 const deepMap = createDeepMap<R>(options);
119
120 return function getMemoized(...args: A): R {
121 return deepMap.getOrCreate(args, () => callback(...args));
122 };
123}
124
125export function weakMemoize<A extends object[], R>(
126 callback: (...args: A) => R

Callers 3

createEntityStoreFunction · 0.90
createEntityQueryFunction · 0.90

Calls 1

createDeepMapFunction · 0.85

Tested by

no test coverage detected