-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use new Streams algorithms #35
Conversation
Follows whatwg/streams#1073. Also includes minor editorial touchups to the algorithms as I was editing them.
Oh, and since |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the many, many, many markup fixes.
1. Set [=this=]'s [=GenericCompressionStream/transform=] to the result of [=TransformStream/creating=] a {{TransformStream}} with <a for=TransformStream/create><var ignore>transformAlgorithm</var></a> set to *transformAlgorithm* and <a for=TransformStream/create><var ignore>flushAlgorithm</var></a> set to *flushAlgorithm*. | ||
|
||
The <dfn>compress and enqueue a chunk</dfn> algorithm, given a {{CompressionStream}} object *cs* and a *chunk*, runs these steps: | ||
1. If *chunk* is not a {{BufferSource}} type, then throw a {{TypeError}}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think the streams standard converts exceptions to rejections in algorithms.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The new wrappers do, specifically for TransformStreams, because all the ones on the web platform are synchronous, and I wanted to make it easy. It's not super-consistent though, e.g. for writable streams I made writeAlgorithm and closeAlgorithm return promises because that's what NativeFS does... Probably I should be more uniform.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I missed that. It would be nice to be more uniform, but I'd rather avoid adding more microtasks if possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is all about spec-land convenience, I can just branch on the return type :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't end up making this uniform on the Streams side, oops. Something to follow up on perhaps, especially if anyone else wants to make more complicated transform streams in the future.
Alright, this is ready for a squash-and-merge! |
Follows whatwg/streams#1073.
Also includes minor editorial touchups to the algorithms as I was editing them.
Do not merge until the Streams PR is merged, but feel free to review.
Preview | Diff