Skip to main content

memoize

function memoize<Deps, GetDeps, Args, T>(fn, getDeps): (...args) => ReturnType<T>;

Memoizes a function based on its arguments and dependencies, where the comparison algorithm is a shallow equality check based on Object.is1

Type Parameters

Type Parameter
Deps extends any[]
GetDeps extends () => Deps
Args extends any[]
T extends (...args) => any

Parameters

ParameterType
fnT
getDepsGetDeps

Returns

(...args): ReturnType<T>;

Parameters

ParameterType
...argsParameters<T>

Returns

ReturnType<T>

Footnotes

  1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is