sdin
Version:
JavaScript package builder.
24 lines (23 loc) • 783 B
TypeScript
export interface Cacher<K = any, V = any> {
has: (key: K) => boolean;
get: (key: K) => V | undefined;
set: (key: K, value: V, expireTime?: number) => void;
}
/**
* 创建一个缓存器
* @param defaultExpireTime 默认的过期时间,单位ms,默认 1000 ms
* @param onDelete 监听删除动作
*/
export declare function createCacher<K = any, V = any>({ defaultExpireTime, onDelete, onDestory }?: {
defaultExpireTime?: number;
onDelete?: (key: K, value: V | undefined) => void;
onDestory?: (list: [K, V, any][], code: number) => void;
}): Cacher<K, V>;
export interface Lazyer<V = any> {
initialized: boolean;
get: () => V;
}
/**
* 创建一个惰性值存储器
*/
export declare function createLazyer<V = any>(init: () => V): Lazyer<V>;