INNER CODE UNIT · TypeScript
decodeCursor
harvard-edge/cs249r_book · interviews/staffml-vault-worker/src/index.ts:171
function decodeCursor(s: string | null): Cursor | null {
if (!s) return null;
try {
const parsed = JSON.parse(atob(s)) as unknown;
if (typeof parsed !== "object" || parsed === null) return null;
const c = parsed as Partial<Cursor>;
if (typeof c.after_id !== "string" || typeof c.filter_hash !== "string") return null;
return { after_id: c.after_id, filter_hash: c.filter_hash };
} catch {
return null;
}
}
// ─── Cloudflare Cache API (B.1) ──────────────────────────────────────────────
/**
* Build a stable Cache API key keyed by release_id so a deploy atomically
* invalidates all cached entries (ARCHITECTURE.md §6.1.1 correctness boundary).