Re: [whatwg/streams] GenericTransformStream mixin vs. subclassing (#1074)

See https://github.com/whatwg/encoding/issues/72#issuecomment-396882904 and so on for the historical background.

I'd summarise it as: subclassing from TransformStream places constraints on implementations that don't benefit users. In the case of ReadableStream and WritableStream there's a lot of stuff you get from subclassing, but TransformStream is just a {readable, writable} pair.

Since this debate happened, there have been a few relevant developments:
- Blink has switched to WebIDL for TransformStream, which makes subclassing it technically easy for Blink, not necessarily other browsers.
- Transferable streams have added a kind of "fake" TransformStream which just wraps an existing {readable, writable} pair while bypassing the internal machinery.
- All specs so far using GenericTransformStream delegate to TransformStream internally anyway.

I still prefer to have the GenericTransformStream mixin. Maybe we could make TransformStream include the mixin as well?

-- 
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/issues/1074#issuecomment-681139650

Received on Wednesday, 26 August 2020 21:44:16 UTC