interface CacheContent { id: K; value: T; addedAt: number; } class MemoryCache { private caches: Map>; constructor() { this.caches = new Map(); } add(id: K, value: T) { this.caches.set(id, { id, value, addedAt: Date.now() }); } get(id: K) { return (this.caches.get(id) ?? null) as CacheContent | null; } has(id: K) { return this.caches.has(id); } clear() { this.caches = new Map(); } } export default MemoryCache;