@yoyo-org/progressive-json
Version:
Stream and render JSON data as it arrives - perfect for AI responses, large datasets, and real-time updates
22 lines (21 loc) • 979 B
TypeScript
export type Placeholder<T = unknown> = {
type: "value" | "text" | "push" | "concat";
key: `ref$${number}`;
value: T;
} | {
type: "init";
data: Record<string, T>;
};
export declare function init<T = unknown>(data: Record<string, T>): Placeholder<T>;
export declare function value<T = unknown>(key: `ref$${number}`, value: T): Placeholder<T>;
export declare function text<T = unknown>(key: `ref$${number}`, value: T): Placeholder<T>;
export declare function push<T = unknown>(key: `ref$${number}`, value: T): Placeholder<T>;
export declare function concat<T = unknown>(key: `ref$${number}`, value: T[]): Placeholder<T[]>;
export declare function generateRefKey(): `ref$${number}`;
export declare function resetRefKeyCounter(): void;
export declare function writeln(res: {
write: (chunk: string) => void;
}): (placeholder: Placeholder) => void;
export declare function writeChunkHeaders(res: {
setHeader: (name: string, value: string) => void;
}): void;