UNPKG

enkanetwork

Version:

API wrapper for enka.network written on TypeScript which provides localization, caching and convenience

27 lines (26 loc) 817 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CacheManager = void 0; class CacheManager { data; constructor({ checkPeriod = 20, } = {}) { this.data = {}; setInterval(() => { for (const [key, value] of Object.entries(this.data)) { if (value && Date.now() > value?.expiredAt) { delete this.data[key]; } } }, checkPeriod * 1000); } async set(key, data, ttl) { this.data[key] = { data, expiredAt: Date.now() + ttl * 1000 }; } async get(key) { const storageKey = this.data[key]; if (!storageKey || Date.now() > storageKey.expiredAt) return null; return storageKey.data; } } exports.CacheManager = CacheManager;