소스 검색

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')