@zenweb/cache
Version:
Zenweb Cache module
30 lines (29 loc) • 938 B
TypeScript
import { Cache } from "./cache.js";
import { CacheHelperKey, CacheHelperOption, CacheKeyType } from "./types.js";
export declare class CacheNotExists extends Error {
}
export declare class CacheHelper<P extends CacheKeyType[], T = unknown> {
private _cache;
private _key;
private _fetch?;
private _opt?;
constructor(_cache: Cache, _key: CacheHelperKey<P>, _fetch?: ((...param: P) => Promise<T> | T) | undefined, _opt?: CacheHelperOption | undefined);
/**
* 取得缓存 key
*/
key(...param: P): string | Promise<string>;
/**
* 取得缓存
*
* 如果已定义 `fetch` 参数当缓存不存在时使用 `fetch` 获取并设置缓存,否则抛出异常
*/
get(...param: P): Promise<T>;
/**
* 设置缓存
*/
set(value: T, ...param: P): Promise<import("./types.js").SetResult>;
/**
* 删除缓存
*/
del(...param: P): Promise<number>;
}