Refactor to remove StreamTransformer instantiation (dart-lang/stream_transform#120)
Directly implement the behavior from `bind` which is the `Stream` to
`Stream` implementation in the extension methods rather than in separate
`StreamTransformer` classes. This pattern has fewer potential issues
around generics since it's fully based on function calls which are
type checked appropriately unlike the `StreamTransformer` interface
which suffers from the incorrect covariant subtype relationships. It
also may avoid some unnecessary allocations as improve stack traces.
For the transforms that were changed, aim for better consistency around
generic type arguments. `T` is now more consistently the source stream
type, while `S` is the output stream type.
12 files changed
tree: ee847782187666bb97dc263eb87e81a42b27a929
- pkgs/