1 | declare 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 |
|
22 | declare function memoizee<F extends (...args: any[]) => any>(
|
23 | f: F,
|
24 | options?: memoizee.Options<F>,
|
25 | ): F & memoizee.Memoized<F>;
|
26 |
|
27 | export = memoizee;
|