import { pooledMap } from "jsr:@std/async@1/pool"; import { importPages } from "jsr:@cosense/std@0.29/rest"; import type { ImportedPage } from "jsr:@cosense/types@0.10/rest"; import { isErr, unwrapErr, unwrapOk } from "npm:option-t@51/plain_result"; const res = await fetch("/api/stream/takker"); const { events } = (await res.json()) as { events: { pageId: string; data?: { titleLc?: string; }; }[]; }; const pages: ImportedPage[] = await Array.fromAsync(pooledMap( 3, events.flatMap(({ data, pageId }) => { if (!data?.titleLc) return []; if (!/\d{4}-\d{2}-\d{2}_ζŒ―γ‚ŠθΏ”γ‚Š/.test(data.titleLc)) return []; return [pageId]; }), async (pageId) => { const res = await fetch(`/api/deleted-pages/takker/${pageId}`); return (await res.json()) as ImportedPage; }, )); const result = await importPages("takker", { pages }, { csrf: (globalThis as any)._csrf }); if (isErr(result)) { console.error(unwrapErr(result)); } else { console.info(unwrapOk(result)); }