INNER CODE UNIT · TypeScript
bumpRateCounter
Hash-Studios/Prism · infra/cloudflare/worker/src/index.ts:308
async function bumpRateCounter(env: Env, key: string, limit: number, ttlSeconds: number): Promise<boolean> {
const existing = await env.LINKS_KV.get(key);
const current = Number.parseInt(existing ?? '0', 10);
if (current >= limit) {
return false;
}
await env.LINKS_KV.put(key, String(current + 1), { expirationTtl: ttlSeconds });
return true;
}
async function readLinkRecord(code: string, env: Env): Promise<LinkRecord | null> {
const raw = await env.LINKS_KV.get(code);
if (raw == null) {
return null;
}
let parsed: unknown;
try {