UNPKG

ai-utils.js

Version:

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

31 lines (30 loc) 984 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseEventSourceReadableStream = void 0; const eventsource_parser_1 = require("eventsource-parser"); async function* convertReadableStreamToAsyncIterable(reader) { while (true) { const result = await reader.read(); if (result.done) { break; } yield result.value; } } /** * @internal */ async function parseEventSourceReadableStream({ stream, callback, }) { try { const parser = (0, eventsource_parser_1.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 } } exports.parseEventSourceReadableStream = parseEventSourceReadableStream;