description

# StreamTransformer<S, T> class abstract interface

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.

The StreamTransformer.fromHandlers constructor allows passing separate callbacks to react to events, errors, and the end of the stream. The StreamTransformer.fromBind constructor creates a `StreamTransformer` whose bind method is implemented by calling the function passed to the constructor.

Implementers
  - StreamTransformerBase
  - WebSocketTransformer

## Constructors

StreamTransformer(StreamSubscription<T> onListen(Stream<S> stream, bool cancelOnError))
  Creates a StreamTransformer based on the given `onListen` callback.
  const
  factory
StreamTransformer.fromBind(Stream<T> bind(Stream<S>))
  Creates a StreamTransformer based on a `bind` callback.
  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.
  no setterinherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setterinherited

## Methods

bind(Stream<S> stream) → Stream<T>
  Transforms the provided `stream`.
cast<RS, RT>() → StreamTransformer<RS, RT>
  Provides a `StreamTransformer<RS, RT>` view of this stream transformer.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object 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 `StreamTransformer<TS, TT>`.