UNPKG

1.07 kBTypeScriptView Raw
1// Type definitions for memoizee 0.4
2// Project: https://github.com/medikoo/memoizee
3// Definitions by: Juan Picado <https://github.com/juanpicado>
4// Patrick Muff <https://github.com/dislick>
5// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
6// Minimum TypeScript Version: 3.1
7
8declare namespace memoizee {
9 interface Options<F extends (...args: any[]) => any> {
10 length?: number | false | undefined;
11 maxAge?: number | undefined;
12 max?: number | undefined;
13 preFetch?: number | true | undefined;
14 promise?: boolean | "then" | "done" | "done:finally" | undefined;
15 dispose?(value: any): void;
16 async?: boolean | undefined;
17 primitive?: boolean | undefined;
18 normalizer?(args: Parameters<F>): string;
19 resolvers?: Array<(arg: any) => any> | undefined;
20 profileName?: string;
21 }
22
23 interface Memoized<F> {
24 delete: F;
25 clear: F & (() => void);
26 }
27}
28
29declare function memoizee<F extends (...args: any[]) => any>(f: F, options?: memoizee.Options<F>): F & memoizee.Memoized<F>;
30
31export = memoizee;