UNPKG

@httpc/kit

Version:

httpc toolbox for building function-based API with minimal code and end-to-end type safety

31 lines (30 loc) 891 B
export class LogCacheDecorator { constructor(name, logger, provider) { this.name = name; this.logger = logger; this.provider = provider; } keys() { return this.provider.keys(); } has(key) { return this.provider.has(key); } get(key) { const value = this.provider.get(key); this.logger.debug("Cache(%s) %s: %s", this.name, key, value === undefined ? "miss" : "hit"); return value; } set(key, value) { this.logger.debug("Cache(%s) %s: set", this.name, key); return this.provider.set(key, value); } delete(key) { this.logger.debug("Cache(%s) %s: deleted", this.name, key); return this.provider.delete(key); } clear() { this.logger.debug("Cache(%s) cleared", this.name); this.provider.clear(); } }