diff options
author | 2022-06-15 02:00:45 -0700 | |
---|---|---|
committer | 2022-06-15 02:00:45 -0700 | |
commit | d93f09331394148441d142930fea236a9fd73c5c (patch) | |
tree | a1838e49a1ac0d94cfcc13d8a954972cd51677e5 /src/javascript/jsc/bindings/builtins/js/ReadableStreamDefaultReader.js | |
parent | dbde52504d50b8d5bb3e071ce4b5a959c28eb760 (diff) | |
download | bun-d93f09331394148441d142930fea236a9fd73c5c.tar.gz bun-d93f09331394148441d142930fea236a9fd73c5c.tar.zst bun-d93f09331394148441d142930fea236a9fd73c5c.zip |
wip direct streams
Diffstat (limited to 'src/javascript/jsc/bindings/builtins/js/ReadableStreamDefaultReader.js')
-rw-r--r-- | src/javascript/jsc/bindings/builtins/js/ReadableStreamDefaultReader.js | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/javascript/jsc/bindings/builtins/js/ReadableStreamDefaultReader.js b/src/javascript/jsc/bindings/builtins/js/ReadableStreamDefaultReader.js index bdeaf1919..774c7161e 100644 --- a/src/javascript/jsc/bindings/builtins/js/ReadableStreamDefaultReader.js +++ b/src/javascript/jsc/bindings/builtins/js/ReadableStreamDefaultReader.js @@ -77,19 +77,20 @@ function readMany() var size = @getByIdDirectPrivate(controller, "queue").size; var values = content.toArray(false); var length = values.length; - if (length > 0) { - for (var i = 0; i < values.length; i++) { - const buf = values[i]; - if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) { - values[i] = new @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + + if (@isReadableByteStreamController(controller)) { + for (var i = 0; i < value.length; i++) { + const buf = value[i]; + if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) { + value[i] = new @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } } } @resetQueue(@getByIdDirectPrivate(controller, "queue")); - if (@getByIdDirectPrivate(controller, "closeRequested")) @readableStreamClose(@getByIdDirectPrivate(controller, "controlledReadableStream")); else if (@isReadableStreamDefaultController(controller)) @@ -108,13 +109,16 @@ function readMany() var queue = @getByIdDirectPrivate(controller, "queue"); var value = [result.value].concat(queue.content.toArray(false)); - for (var i = 0; i < value.length; i++) { - const buf = value[i]; - if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) { - value[i] = new @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + + if (@isReadableByteStreamController(controller)) { + for (var i = 0; i < value.length; i++) { + const buf = value[i]; + if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) { + value[i] = new @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } } } - + var size = queue.size; @resetQueue(queue); |