INNER CODE UNIT · TypeScript
encodeCursor
harvard-edge/cs249r_book · interviews/staffml-vault-worker/src/index.ts:167
function encodeCursor(c: Cursor): string {
return btoa(JSON.stringify(c));
}
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) ──────────────────────────────────────────────