wrappers.js 581 B

1234567891011121314
  1. import { IterableReadableStream } from "../utils/stream.js";
  2. export function convertToHttpEventStream(stream) {
  3. const encoder = new TextEncoder();
  4. const finalStream = new ReadableStream({
  5. async start(controller) {
  6. for await (const chunk of stream) {
  7. controller.enqueue(encoder.encode(`event: data\ndata: ${JSON.stringify(chunk)}\n\n`));
  8. }
  9. controller.enqueue(encoder.encode("event: end\n\n"));
  10. controller.close();
  11. },
  12. });
  13. return IterableReadableStream.fromReadableStream(finalStream);
  14. }