[whatwg/streams] First draft at a pipeTo "algorithm" (#512)

This is a first draft at the "algorithm" for pipeTo, which contains a few concrete steps and a lot of more general requirements. I'd love feedback on whether this style of speccing is clear enough, or if I missed any important requirements, or if the way in which I grouped the requirements is confusing, or anything else. I'm kind of nervous about this part :)

Preview at https://streams.spec.whatwg.org/branch-snapshots/spec-pipe-to-omg/#rs-pipe-to

Things to do before this is merge ready:

- [ ] Factor our releasing a writable stream lock into an abstract op
- [ ] Ensure we have tests that cover all of the requirements here (and realign any existing ones to match better with the requirements' wording if they are close)
- [ ] Ensure we are not missing any requirements that are expressed in the tests
- [ ] Ensure in particular that the various error conditions are tested correctly and align with the spec, e.g. what if both the source and dest error.
- [ ] Check to make sure no asserts are violated or incorrect errors are thrown/promises are rejected, e.g. by doing something that's not supposed to be done while in a given state.
- [ ] Align the reference implementation more closely with this version of the spec, by using more internal methods and seeing if we can get better correspondence between the requirement lines here and the JS lines in the reference implementation. It's possible they can't be that close, which is fine, as long as the tests pass.

You can view, comment on, or merge this pull request online at:

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

-- Commit Summary --

  * First draft at a pipeTo "algorithm"

-- File Changes --

    M index.bs (62)

-- Patch Links --

https://github.com/whatwg/streams/pull/512.patch
https://github.com/whatwg/streams/pull/512.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/512

Received on Tuesday, 30 August 2016 20:45:50 UTC