# StreamTransformer<S, T> class

Transforms a Stream.

When a stream's Stream.transform method is invoked with a StreamTransformer, the stream calls the bind method on the provided transformer. The resulting stream is then returned from the Stream.transform method.

Conceptually, a transformer is simply a function from Stream to Stream that is encapsulated into a class.

It is good practice to write transformers that can be used multiple times.

All other transforming methods on Stream, such as Stream.map, Stream.where or Stream.expand can be implemented using Stream.transform. A StreamTransformer is thus very powerful but often also a bit more complicated to use.

Implemented by
  - StreamTransformerBase
  - WebSocketTransformer

## Constructors

StreamTransformer(StreamSubscription<T> onListen(Stream<S> stream, bool cancelOnError))
  Creates a StreamTransformer based on the given `onListen` callback. [...]
  const
  factory
StreamTransformer.fromHandlers({void handleData(S data, EventSink<T> sink), void handleError(Object error, StackTrace stackTrace, EventSink<T> sink), void handleDone(EventSink<T> sink) })
  Creates a StreamTransformer that delegates events to the given functions. [...]
  factory

## 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(Stream<S> stream) → Stream<T>
  Transforms the provided `stream`. [...]
cast<RS, RT>() → StreamTransformer<RS, RT>
  Provides a `StreamTrasformer<RS, RT>` view of this stream transformer. [...]
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

castFrom<SS, ST, TS, TT>(StreamTransformer<SS, ST> source) → StreamTransformer<TS, TT>
  Adapts `source` to be a `StreamTransfomer<TS, TT>`. [...]