cache-entanglement
Version:
Manage caches that are dependent on each other efficiently.
12 lines (11 loc) • 1.01 kB
TypeScript
import { BeforeUpdateHookAsync, CacheEntanglement, CacheEntanglementConstructorOption, CacheGetter, CacheGetterParams, DependencyCacheData, DependencyMap } from './CacheEntanglement';
import { CacheData } from './CacheData';
export declare class CacheEntanglementAsync<D extends DependencyMap, G extends CacheGetter<DependencyCacheData<D>>> extends CacheEntanglement<D, G> {
protected readonly beforeUpdateHook: BeforeUpdateHookAsync<D, G>;
constructor(creation: G, option?: CacheEntanglementConstructorOption<D, G>);
protected recache(key: string): Promise<CacheData<Awaited<ReturnType<G>>> | undefined>;
protected resolve(key: string, ...parameter: CacheGetterParams<G>): Promise<CacheData<Awaited<ReturnType<G>>>>;
get(key: string): Promise<CacheData<Awaited<ReturnType<G>>>>;
cache(key: string, ...parameter: CacheGetterParams<G>): Promise<CacheData<Awaited<ReturnType<G>>>>;
update(key: string, ...parameter: CacheGetterParams<G>): Promise<CacheData<Awaited<ReturnType<G>>>>;
}