UNPKG

@croct/cache

Version:

An abstraction layer for caching.

24 lines (23 loc) 733 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefaultWhileMissCache = void 0; class DefaultWhileMissCache { constructor(config) { this.provider = config.provider; this.defaultValue = config.defaultValue; this.errorHandler = config.errorHandler ?? (() => { }); } get(key, loader) { return this.provider.get(key, innerKey => { loader(innerKey).catch(this.errorHandler); return Promise.resolve(this.defaultValue); }); } set(key, value) { return this.provider.set(key, value); } delete(key) { return this.provider.delete(key); } } exports.DefaultWhileMissCache = DefaultWhileMissCache;