8 lines
512 B
TypeScript
8 lines
512 B
TypeScript
|
export declare type EqualityFn<TFunc extends (...args: any[]) => any> = (newArgs: Parameters<TFunc>, lastArgs: Parameters<TFunc>) => boolean;
|
||
|
export declare type MemoizedFn<TFunc extends (this: any, ...args: any[]) => any> = {
|
||
|
clear: () => void;
|
||
|
(this: ThisParameterType<TFunc>, ...args: Parameters<TFunc>): ReturnType<TFunc>;
|
||
|
};
|
||
|
declare function memoizeOne<TFunc extends (this: any, ...newArgs: any[]) => any>(resultFn: TFunc, isEqual?: EqualityFn<TFunc>): MemoizedFn<TFunc>;
|
||
|
export default memoizeOne;
|