komik / src /lib /cache.js
bilaku's picture
Upload 3 files
bd11153 verified
Raw
History Blame Contribute Delete
501 Bytes
import { CACHE_TTL_MS } from "../config.js";
const store = new Map();
const MAX = 200;
export function getCache(key) {
const hit = store.get(key);
if (!hit) return null;
if (Date.now() > hit.expires) {
store.delete(key);
return null;
}
return hit.value;
}
export function setCache(key, value, ttl = CACHE_TTL_MS) {
if (store.size >= MAX) {
const firstKey = store.keys().next().value;
store.delete(firstKey);
}
store.set(key, { value, expires: Date.now() + ttl });
}