aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/builtins/js
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/builtins/js')
-rw-r--r--src/bun.js/builtins/js/ReadableStreamDefaultReader.js17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/bun.js/builtins/js/ReadableStreamDefaultReader.js b/src/bun.js/builtins/js/ReadableStreamDefaultReader.js
index 9430a1037..4671f1458 100644
--- a/src/bun.js/builtins/js/ReadableStreamDefaultReader.js
+++ b/src/bun.js/builtins/js/ReadableStreamDefaultReader.js
@@ -96,12 +96,25 @@ function readMany()
if (length > 0) {
var outValues = @newArrayWithSize(length);
if (@isReadableByteStreamController(controller)) {
- for (var i = 0; i < length; i++) {
+
+ {
+ const buf = values[0];
+ if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) {
+ @putByValDirect(outValues, 0, new @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength));
+ } else {
+ @putByValDirect(outValues, 0, buf);
+ }
+ }
+
+ for (var i = 1; i < length; i++) {
const buf = values[i];
if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) {
- @putByValDirect(outValues, i, @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength));
+ @putByValDirect(outValues, i, new @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength));
+ } else {
+ @putByValDirect(outValues, i, buf);
}
}
+
} else {
@putByValDirect(outValues, 0, values[0].value);
for (var i = 1; i < length; i++) {