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
-
- Object
- StreamTransformerBase<
S, T> - FlatMapStreamTransformer
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