UNPKG

cachelot

Version:
35 lines (34 loc) 1.44 kB
declare type OnEvicted = (a: string, obj: Item["Object"] | null) => null; declare class Item { Expiration: number; Object: any; constructor(Object: any, Expiration: number); Expired(): boolean; } export declare class Cache { defaultExpiration: number; items: Record<string, Item>; onEvicted: OnEvicted; janitor: any; constructor(defaultExpiration: number, items: Record<string, Item>); Set(k: string, x: any, d: number): Promise<void>; set(k: string, x: any, d: number): void; SetDefault(k: string, x: any): void; Get(k: string): Promise<[Item["Object"], boolean]>; GetWithExpiration(k: string): Promise<[Item["Object"], Item["Expiration"], boolean]>; get(k: string): [Item["Object"], boolean]; Add(k: string, x: any, d: number): Promise<Error | null>; Replace(k: string, x: any, d: number): Promise<any>; Delete(k: string): Promise<void>; delete(k: string): [Item["Object"] | null, boolean]; DeleteExpired(): Promise<void>; OnEvicted(fn: OnEvicted): Promise<void>; Items(): Promise<Record<string, Item>>; ItemCount(): Promise<number>; Flush(): Promise<void>; stopJanitor(): void; runJanitor(interval: number): void; } declare function New(defaultExpiration: number, cleanUpInterval: number): Cache; declare function NewFrom(defaultExpiration: number, cleanUpInterval: number, items: Record<string, Item>): Cache; export { New, NewFrom };