UNPKG

memoize-fs

Version:

Node.js solution for memoizing/caching function results on the file system

22 lines (21 loc) 934 B
export interface MemoizerOptions { cacheId: string; cachePath: string; salt: string; maxAge: number; force: boolean; astBody: boolean; noBody: boolean; throwError: boolean; retryOnInvalidCache: boolean; serialize: (val: unknown) => string; deserialize: (val: string) => unknown; } export interface Memoizer { fn: <FN extends (...args: never) => unknown>(fn: FN, opt?: Partial<MemoizerOptions>) => Promise<(...args: Parameters<FN>) => Promise<Awaited<ReturnType<FN>>>>; readonly cacheHit: boolean | undefined; getCacheFilePath: (fn: (...args: never) => unknown, args: unknown[], opt: Partial<MemoizerOptions>) => string; invalidate: (cacheId?: string) => Promise<void>; } export declare function getCacheFilePath(fn: unknown, args: unknown[], opt: Partial<MemoizerOptions>): string; export default function buildMemoizer(memoizerOptions: Partial<MemoizerOptions>): Memoizer;