UNPKG

esa-cli

Version:

A CLI for operating Alibaba Cloud ESA Functions and Pages.

34 lines (33 loc) 865 B
class CacheService { constructor() { this.store = new Map(); this.maxQuota = 100 * 1024 * 1024; } put(key, serializedResponse) { const expires = serializedResponse.ttl === 0 ? Infinity : Date.now() + serializedResponse.ttl * 1000; this.store.set(key, { serializedResponse, expires: expires, lastUsed: Date.now() }); } get(key) { const entry = this.store.get(key); if (!entry || Date.now() > entry.expires) { return null; } entry.lastUsed = Date.now(); return entry; } delete(key) { return this.deleteEntry(key); } deleteEntry(key) { if (!this.store.has(key)) return false; return this.store.delete(key); } } export default CacheService;