[whatwg/streams] Editorial: remove forAuthorCode and use dictionaries for read() return value (#1045)

This is a start at tackling #1036. The intention is to have no normative behavior changes. However, note that I have not introduced artificial microtasks, so there are probably be some normative timing changes. If so then we should probably fix that, unless for some reason we think this would be an improvement.

Right now I've just done the reference implementation to give people an idea of what it looks like. If we can get all the tests passing and the shape of the solution hammered out, then I can port it to the spec text.

There are two kinds of failing tests currently:

- `readable-streams/tee.any.html`: "ReadableStream teeing: errors in the source should propagate to both branches" fails.

- `redable-byte-streams/general.any.html` craps out due to a timeout in "ReadableStream with byte source: A stream must be errored if close()-d before fulfilling read(view) with Uint16Array", and then the harness doesn't continue with the rest of the tests, so there are unknown failures there.

Both of these could be due to something stupid I missed, or due to the timing changes. I'll investigate tomorrow.

In the meantime, I'd appreciate thoughts on how this looks to folks, and whether it's a promising direction. For example, does the `(chunkSteps, doneSteps, errorSteps)` tuple seem like the right way to go? For byte streams especially, I had to thread them through more places than I'd hoped; is that OK, or does it make this less worth pursuing?
You can view, comment on, or merge this pull request online at:

  https://github.com/whatwg/streams/pull/1045

-- Commit Summary --

  * Initial draft in reference implementation

-- File Changes --

    M reference-implementation/lib/ReadableByteStreamController-impl.js (13)
    M reference-implementation/lib/ReadableStream-impl.js (36)
    M reference-implementation/lib/ReadableStreamBYOBReader-impl.js (12)
    M reference-implementation/lib/ReadableStreamBYOBReader.webidl (2)
    M reference-implementation/lib/ReadableStreamDefaultController-impl.js (11)
    M reference-implementation/lib/ReadableStreamDefaultReader-impl.js (11)
    M reference-implementation/lib/ReadableStreamDefaultReader.webidl (2)
    A reference-implementation/lib/ReadableStreamReadResult.webidl (4)
    M reference-implementation/lib/abstract-ops/readable-streams.js (163)
    M reference-implementation/lib/helpers/miscellaneous.js (2)

-- Patch Links --

https://github.com/whatwg/streams/pull/1045.patch
https://github.com/whatwg/streams/pull/1045.diff

-- 
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/1045

Received on Monday, 22 June 2020 21:39:39 UTC