SwitchMapStreamTransformer<T, S> class

Converts each emitted item into a new Stream using the given mapper function. The newly created Stream will be be listened to and begin emitting items, and any previously created Stream will stop emitting.

The switchMap operator is similar to the flatMap and concatMap methods, but it only emits items from the most recently created Stream.

This can be useful when you only want the very latest state from asynchronous APIs, for example.


new Stream.fromIterable([4, 3, 2, 1])
  .transform(new SwitchMapStreamTransformer((i) =>
    new Stream.fromFuture(
      new Future.delayed(new Duration(minutes: i), () => i))
  .listen(print); // prints 1


SwitchMapStreamTransformer(Stream<S> mapper(T value))
Constructs a StreamTransformer which maps each event from the source Stream using mapper. [...]


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


bind(Stream<T> stream) → Stream<S>
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 non-existent method or property is accessed.
toString() → String
Returns a string representation of this object.


operator ==(dynamic other) → bool
The equality operator.