UNPKG

828 BTypeScriptView Raw
1declare namespace memoizee {
2 interface Options<F extends (...args: any[]) => any> {
3 length?: number | false | undefined;
4 maxAge?: number | undefined;
5 max?: number | undefined;
6 preFetch?: number | true | undefined;
7 promise?: boolean | "then" | "done" | "done:finally" | undefined;
8 dispose?(value: any): void;
9 async?: boolean | undefined;
10 primitive?: boolean | undefined;
11 normalizer?(args: Parameters<F>): string;
12 resolvers?: Array<(arg: any) => any> | undefined;
13 profileName?: string;
14 }
15
16 interface Memoized<F> {
17 delete: F;
18 clear: F & (() => void);
19 }
20}
21
22declare function memoizee<F extends (...args: any[]) => any>(
23 f: F,
24 options?: memoizee.Options<F>,
25): F & memoizee.Memoized<F>;
26
27export = memoizee;