UNPKG

ai-utils.js

Version:

Build AI applications, chatbots, and agents with JavaScript and TypeScript.

27 lines (26 loc) 757 B
import { createParser } from "eventsource-parser"; async function* convertReadableStreamToAsyncIterable(reader) { while (true) { const result = await reader.read(); if (result.done) { break; } yield result.value; } } /** * @internal */ export async function parseEventSourceReadableStream({ stream, callback, }) { try { const parser = createParser(callback); const decoder = new TextDecoder(); const iterable = convertReadableStreamToAsyncIterable(stream.getReader()); for await (const value of iterable) { parser.feed(decoder.decode(value)); } } catch (error) { console.error(error); // TODO introduce error handler param } }