num-beauty
Version:
An ultra lightweight module for formatting numbers into human-friendly strings
1 lines • 447 B
JavaScript
class MemoryCache{constructor(){this.cache=new Map}set(e,t,c=0){this.cache.set(e,{value:t,timestamp:Date.now(),ttl:1e3*c})}get(e){const t=this.cache.get(e);if(t){if(!(t.ttl>0&&Date.now()-t.timestamp>t.ttl))return t.value;this.cache.delete(e)}}delete(e){this.cache.delete(e)}clear(){this.cache.clear()}async getOrSet(e,t,c=0){const a=this.get(e);if(void 0!==a)return a;const s=await t();return this.set(e,s,c),s}}export const cache=new MemoryCache;