assistant/src/utils/index.ts
Timothy J. Baek f3096270a3 init
2024-03-12 22:08:55 -07:00

15 lines
396 B
TypeScript

export const splitStream = (splitOn) => {
let buffer = "";
return new TransformStream({
transform(chunk, controller) {
buffer += chunk;
const parts = buffer.split(splitOn);
parts.slice(0, -1).forEach((part) => controller.enqueue(part));
buffer = parts[parts.length - 1];
},
flush(controller) {
if (buffer) controller.enqueue(buffer);
},
});
};