SwitchMapStreamTransformer<S, T> 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.

Example

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

Constructors

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

Properties

hashCode int
The hash code for this object.
no setterinherited
mapper Stream<T> Function(S value)
Method which converts incoming events into a new Stream
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

bind(Stream<S> stream) Stream<T>
Transforms the provided stream.
override
cast<RS, RT>() StreamTransformer<RS, RT>
Provides a StreamTransformer<RS, RT> view of this stream transformer.
inherited
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