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

Right, OK, thank you for digging that up.

My main concern is that, looking at the section I wrote up in #1073, it looks kind of pointless. The wrapping is basically isomorphic to subclassing; instead of setting up `this` and operating on it, you create `this's transform` and operate on `this's transform`. And, this wrapping is inconsistent with how we handle specializations of `WritableStream` and `ReadableStream`.

> Maybe we could make TransformStream include the mixin as well?

This doesn't work, because then every TransformStream would have an associated `transform`, which is a TransformStream, which has an associated transform, which is...

> Transferable streams have added a kind of "fake" TransformStream which just wraps an existing {readable, writable} pair while bypassing the internal machinery.

This is pretty interesting, but I'm not sure how to think about how it interacts with the above concerns. (It does indicate that `destination.postMessage(ts, { transfer: [ts.readable, ts.writable] })` would have been more honest, but as discussed in https://github.com/whatwg/streams/issues/276#issuecomment-658295339, that doesn't really work.)

-- 
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-682041576

Received on Thursday, 27 August 2020 16:04:15 UTC