ai-utils.js
Version:
Build AI applications, chatbots, and agents with JavaScript and TypeScript.
24 lines (23 loc) • 800 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractTextDeltas = void 0;
async function* extractTextDeltas({ deltaIterable, extractDelta, onDone, onError, }) {
let accumulatedText = "";
let lastFullDelta;
for await (const event of deltaIterable) {
if (event?.type === "error") {
onError(event.error);
throw event.error;
}
if (event?.type === "delta") {
lastFullDelta = event.fullDelta;
const delta = extractDelta(lastFullDelta);
if (delta != null && delta.length > 0) {
accumulatedText += delta;
yield delta;
}
}
}
onDone(accumulatedText, lastFullDelta);
}
exports.extractTextDeltas = extractTextDeltas;