Переглянути джерело

fix: use more compatible ReadableStream iteration method

nshcr 1 рік тому
батько
коміт
0cd1bdd92c
1 змінених файлів з 9 додано та 2 видалено
  1. 9 2
      src/utils.ts

+ 9 - 2
src/utils.ts

@@ -100,8 +100,15 @@ export const parseJSON = async function* <T = unknown>(
   const decoder = new TextDecoder('utf-8')
   let buffer = ''
 
-  // TS is a bit strange here, ReadableStreams are AsyncIterable but TS doesn't see it.
-  for await (const chunk of itr as unknown as AsyncIterable<Uint8Array>) {
+  const reader = itr.getReader()
+
+  while (true) {
+    const { done, value: chunk } = await reader.read()
+
+    if (done) {
+      break
+    }
+
     buffer += decoder.decode(chunk)
 
     const parts = buffer.split('\n')