UNPKG

@yoyo-org/progressive-json

Version:

Stream and render JSON data as it arrives - perfect for AI responses, large datasets, and real-time updates

20 lines (19 loc) 574 B
import { assert } from "./utils/assert"; export async function fetchJson(url, processor) { const response = await fetch(url); assert(response.ok, `Failed to fetch from ${url}: ${response.statusText}`); assert(response.body, "No response body received"); const reader = response.body.getReader(); try { while (true) { const { value, done } = await reader.read(); if (done) { break; } processor.processChunk(value); } } finally { reader.releaseLock(); } }