UNPKG

@yoyo-org/progressive-json

Version:

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

34 lines (33 loc) 929 B
export function init(data) { return { type: "init", data }; } export function value(key, value) { return { type: "value", key, value }; } export function text(key, value) { return { type: "text", key, value }; } export function push(key, value) { return { type: "push", key, value }; } export function concat(key, value) { return { type: "concat", key, value }; } let refKeyCounter = 1; export function generateRefKey() { return `ref$${refKeyCounter++}`; } export function resetRefKeyCounter() { refKeyCounter = 1; } export function writeln(res) { return (placeholder) => { res.write(JSON.stringify(placeholder) + "\n"); }; } export function writeChunkHeaders(res) { res.setHeader("Content-Type", "application/json; charset=utf-8"); res.setHeader("Transfer-Encoding", "chunked"); res.setHeader("Cache-Control", "no-cache"); res.setHeader("Connection", "keep-alive"); }