Skip to content

Commit f81ff29

Browse files
Build Uint8Array from ReadableStream without experimental Response constructor
1 parent dae6d08 commit f81ff29

File tree

1 file changed

+13
-5
lines changed
  • packages/stream-collector-browser/src

1 file changed

+13
-5
lines changed
Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
import { StreamCollector } from "@aws-sdk/types";
22

3-
export const streamCollector: StreamCollector = (
4-
stream: ReadableStream
3+
export const streamCollector: StreamCollector = async (
4+
stream: ReadableStream<Uint8Array>
55
): Promise<Uint8Array> => {
6-
return new Response(stream)
7-
.arrayBuffer()
8-
.then(arrayBuffer => new Uint8Array(arrayBuffer));
6+
const res: number[] = [];
7+
const reader = stream.getReader();
8+
let isDone = false;
9+
while(!isDone) {
10+
const { done, value } = await reader.read();
11+
if(value) {
12+
res.push(...value);
13+
}
14+
isDone = done;
15+
}
16+
return new Uint8Array(res);
917
};

0 commit comments

Comments
 (0)