StreamChannelTransformer<S, T> class

A StreamChannelTransformer transforms the events being passed to and emitted by a StreamChannel.

This works on the same principle as StreamTransformer and StreamSinkTransformer. Each transformer defines a bind method that takes in the original StreamChannel and returns the transformed version.

Transformers must be able to have bind called multiple times. If a subclass implements bind explicitly, it should be sure that the returned stream follows the second stream channel guarantee: closing the sink causes the stream to close before it emits any more events. This guarantee is invalidated when an asynchronous gap is added between the original stream's event dispatch and the returned stream's, for example by transforming it with a StreamTransformer. The guarantee can be easily preserved using StreamChannel.withCloseGuarantee.

Implementers

Constructors

StreamChannelTransformer(StreamTransformer<T, S> _streamTransformer, StreamSinkTransformer<S, T> _sinkTransformer)
Creates a StreamChannelTransformer from existing stream and sink transformers.
const
StreamChannelTransformer.fromCodec(Codec<S, T> codec)
Creates a StreamChannelTransformer from a codec's encoder and decoder. [...]

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

bind(StreamChannel<T> channel) StreamChannel<S>
Transforms the events sent to and emitted by channel. [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
Returns a string representation of this object.
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited

Static Methods

typed<S, T>(StreamChannelTransformer transformer) StreamChannelTransformer<S, T>
Creates a wrapper that coerces the type of transformer. [...]