- From: Domenic Denicola <notifications@github.com>
- Date: Fri, 13 Aug 2021 13:54:20 -0700
- To: whatwg/streams <streams@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/streams/pull/1145/review/729961336@github.com>
@domenic approved this pull request.
Sorry for the delay. This LGTM with the minor potential improvement of combining the boolean with reader type. @ricea do you think we could implement this? Shouldn't take long...
> @@ -1382,6 +1392,34 @@ value: newViewOnSameMemory, done: true }</code> for closed streams. If the strea
<p>If reading a chunk causes the queue to become empty, more data will be pulled from the
[=underlying source=].
+ <dt><code>{ <var ignore>value</var>, <var ignore>done</var> } = await <var ignore>reader</var>.{{ReadableStreamBYOBReader/readFully()|readFully}}(<var ignore>view</var>)</code>
+ <dd>
+ <p>Attempts to read bytes into |view| until it is completely full, and returns a promise resolved
+ with the result:
+
+ <ul>
+ <li>If enough bytes become available to fill |view|, the promise will be fulfilled with an
+ object of the form <code highlight="js">{ value: theView, done: false }</code>. In this case,
+ |view| will be [=ArrayBuffer/detached=] and no longer usable, but <code>theView</code> will be a
"view" vs. "theView" is confusing. Above we use "view" vs. "theChunk" which is OK. We could also change both to "view" vs. "newView".
> + <dd>
+ <p>Attempts to read bytes into |view| until it is completely full, and returns a promise resolved
+ with the result:
+
+ <ul>
+ <li>If enough bytes become available to fill |view|, the promise will be fulfilled with an
+ object of the form <code highlight="js">{ value: theView, done: false }</code>. In this case,
+ |view| will be [=ArrayBuffer/detached=] and no longer usable, but <code>theView</code> will be a
+ new view (of the same type) onto the same backing memory region, with the received bytes written
+ into it.
+
+ <li>If the stream becomes closed before |view| is full, the promise will be fulfilled with an
+ object of the form <code highlight="js">{ value: theView, done: true }</code>. In this case,
+ |view| will be [=ArrayBuffer/detached=] and no longer usable, but <code>theChunk</code> will be a
+ new view (of the same type) onto the same backing memory region, with any received bytes written
+ into it.
Maybe mention that its `byteLength` will be equal to the number of bytes read?
> +: <dfn for="pull-into descriptor">read fully</dfn>
+:: A boolean flag indicating whether this is a {{ReadableStreamBYOBReader/readFully()}} request.
Boolean seems fine to me. If we can combine them (i.e., if one element in the 2x2 matrix is not currently filled out) that sounds even nicer.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/1145#pullrequestreview-729961336
Received on Friday, 13 August 2021 20:54:32 UTC