@croct/cache
Version:
An abstraction layer for caching.
19 lines (18 loc) • 630 B
TypeScript
import { CacheLoader, CacheProvider } from './cacheProvider';
export type Configuration<K, V> = {
provider: CacheProvider<K, V>;
defaultValue: V;
/**
* Handler for background revalidation errors
*/
errorHandler?: (error: Error) => void;
};
export declare class DefaultWhileMissCache<K, V> implements CacheProvider<K, V> {
private readonly provider;
private readonly defaultValue;
private readonly errorHandler;
constructor(config: Configuration<K, V>);
get(key: K, loader: CacheLoader<K, V>): Promise<V>;
set(key: K, value: V): Promise<void>;
delete(key: K): Promise<void>;
}