/********************************************************************** * * @模块名称: memoized * * @模块用途: 缓存函数 * * @date: 2021/7/23 8:22 * * @版权所有: pgli * **********************************************************************/ interface Cache { [propName: string]: any; } declare type Clear = (key?: string) => void; /** * 返回值类型定义 */ export declare type MemoizedReturn = [any, Cache, string, Clear] | any; export interface MemoizedFn { (...arg: any): MemoizedReturn; } /** * 同步缓存函数 * @param fn */ export declare const memoized: (fn: MemoizedFn) => MemoizedFn; /** * 异步缓存求值 * @param fn */ export interface AsyncMemoizedFn { (...arg: any): Promise | Promise; } export declare const asyncMemoized: (fn: AsyncMemoizedFn) => AsyncMemoizedFn; export {};