FlatMapStreamTransformer<S, T> class

Converts each emitted item into a new Stream using the given mapper function, while limiting the maximum number of concurrent subscriptions to these Streams. The newly created Stream will be listened to and begin emitting items downstream.

The items emitted by each of the new Streams are emitted downstream in the same order they arrive. In other words, the sequences are merged together.

Example

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

Constructors

FlatMapStreamTransformer(Stream<T> mapper(S value), {int? maxConcurrent})
Constructs a StreamTransformer which emits events from the source Stream using the given mapper. The mapped Stream will be listened to and begin emitting items downstream.

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
maxConcurrent int?
Maximum number of inner Stream that may be listened to concurrently. If it's null, it means unlimited.
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