DefinitelyTyped/types/memoizee/index.d.ts
Igor Savin 355ee52e9b [@types/memoizee] More accurate types for normalizer option (#38060)
* Improve typings for `normalizer` memoizee option

* Fix build

* Fix test
2019-09-06 17:46:17 -07:00

30 lines
793 B
TypeScript

// Type definitions for memoizee 0.4
// Project: https://github.com/medikoo/memoizee
// Definitions by: Juan Picado <https://github.com/juanpicado>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare namespace memoizee {
interface Options {
length?: number | false;
maxAge?: number;
max?: number;
preFetch?: number | true;
promise?: boolean;
dispose?(value: any): void;
async?: boolean;
primitive?: boolean;
normalizer?(args: any[]): string;
resolvers?: Array<(arg: any) => any>;
}
interface Memoized<F> {
delete: F;
clear: F & (() => void);
}
}
// tslint:disable-next-line ban-types
declare function memoizee<F extends Function>(f: F, options?: memoizee.Options): F & memoizee.Memoized<F>;
export = memoizee;