MCPcopy
hub / github.com/plotly/dash / memoizeOneWithFlag

Function memoizeOneWithFlag

components/dash-table/src/core/memoizer.ts:28–47  ·  view source on GitHub ↗
(
    fn: ResultFn<TArgs, TEntry>
)

Source from the content-addressed store, hash-verified

26}
27
28export function memoizeOneWithFlag<TArgs extends any[], TEntry>(
29 fn: ResultFn<TArgs, TEntry>
30): ResultFn<TArgs, ICachedResultFn<TEntry>> {
31 let lastArgs: any[] | null = null;
32 let lastResult: any;
33 let isFirst = true;
34
35 return (...args: TArgs): ICachedResultFn<TEntry> => {
36 const res = isEqualArgs(lastArgs, args)
37 ? {cached: true, first: isFirst, result: lastResult}
38 : {
39 cached: false,
40 first: isFirst,
41 result: (lastArgs = args) && (lastResult = fn(...args))
42 };
43 isFirst = false;
44
45 return res;
46 };
47}
48
49export function memoizeAll<TArgs extends any[], TEntry>(
50 fn: ResultFn<TArgs, TEntry>

Callers 1

Calls 2

isEqualArgsFunction · 0.90
fnFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…