Sha256: 2bc6dc0f297a4af4fb622854a82feae5746b634499d44e2232166083e57c6f8d
Contents?: true
Size: 683 Bytes
Versions: 33
Compression:
Stored size: 683 Bytes
Contents
type Func = (...args: any[]) => any; export interface Cache<K, V> { create: CacheCreateFunc<K, V> } interface CacheCreateFunc<K, V> { (): { get(key: K): V; set(key: K, value: V): void; has(key: K): boolean; } } export type Serializer = (args: any[]) => string; export interface Options<F extends Func> { cache?: Cache<string, ReturnType<F>>; serializer?: Serializer; strategy?: MemoizeFunc; } export interface MemoizeFunc { <F extends Func>(fn: F, options?: Options<F>): F; } interface Memoize extends MemoizeFunc { strategies: { variadic: MemoizeFunc; monadic: MemoizeFunc; }; } declare const memoize: Memoize; export default memoize;
Version data entries
33 entries across 33 versions & 1 rubygems