stream-async-iterable.ts 298 B

1234567891011121314
  1. export async function* streamAsyncIterable<T>(stream: ReadableStream<T>) {
  2. const reader = stream.getReader()
  3. try {
  4. while (true) {
  5. const { done, value } = await reader.read()
  6. if (done) {
  7. return
  8. }
  9. yield value
  10. }
  11. } finally {
  12. reader.releaseLock()
  13. }
  14. }