@alexaegis/common
Version:
Common utility functions
19 lines • 784 B
TypeScript
export interface MemoizeOptions<F extends (...args: any) => unknown, T = unknown> {
/**
* @defaultValue undefined
*/
thisContext?: T | undefined;
/**
*
* @defaultValue JSON.stringify
*/
argHasher?: (args: Parameters<F>) => string;
/**
* @defaultValue Infinity
*/
maxCacheEntries?: number;
cache?: Map<string, ReturnType<F>>;
}
export type NormalizedMemoizeOptions<F extends (...args: any) => unknown, T = unknown> = Required<Omit<MemoizeOptions<F, T>, 'thisContext'>> & Pick<MemoizeOptions<F, T>, 'thisContext'>;
export declare const normalizeMemoizeOptions: <F extends (...args: any) => unknown, T>(options?: MemoizeOptions<F, T>) => NormalizedMemoizeOptions<F, T>;
//# sourceMappingURL=memoize.function.options.d.ts.map