ObservableStream<T> class

Stream that tracks the emitted values of the provided stream and makes them available as a MobX observable value.

The latest events emitted by the stream are captured an made available as MobX observable values via properties such as data, value, error, hasError and status.

If the source stream is a single-subscription stream, this stream will also be single-subscription. Either calling listen or observing value, etc. in a reaction will start the stream. Both can be done at the same time.

If the observation ends, and a subscription was never created via listen, the stream will be paused. If a subscription (created via listen) is cancelled, the stream ends, and value etc. can no longer be observed inside a reaction.

If the source stream is a broadcast stream, this stream will also be a broadcast stream. This means the observable stream can be listened to multiple times.

Implemented types
Available Extensions

Constructors

ObservableStream(Stream<T> stream, {T? initialValue, bool cancelOnError = false, ReactiveContext? context, String? name, EqualityComparer? equals})
Create a stream that tracks the emitted values of the provided stream and makes them available as a MobX observable value.

Properties

data → dynamic
no setter
error → dynamic
Current error or null if not failed.
no setter
first ObservableFuture<T>
The first element of this stream.
no setteroverride
hasError bool
Current data is an error.
no setter
hashCode int
The hash code for this object.
no setterinherited
isBroadcast bool
Whether this stream is a broadcast stream.
no setteroverride
isEmpty ObservableFuture<bool>
Whether this stream contains any elements.
no setteroverride
last ObservableFuture<T>
The last element of this stream.
no setteroverride
length ObservableFuture<int>
The number of elements in this stream.
no setteroverride
name String
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
single ObservableFuture<T>
The single element of this stream.
no setteroverride
status StreamStatus
Current stream status.
no setter
value → T?
Current value or null if waiting and no initialValue, or null if data is an error.
no setteroverride

Methods

any(bool test(T element)) ObservableFuture<bool>
Checks whether test accepts any element provided by this stream.
override
asBroadcastStream({void onListen(StreamSubscription<T> subscription)?, void onCancel(StreamSubscription<T> subscription)?}) ObservableStream<T>
Returns a multi-subscription stream that produces the same events as this.
override
asyncExpand<E>(Stream<E>? convert(T event)) ObservableStream<E>
Transforms each element into a sequence of asynchronous events.
override
asyncMap<E>(FutureOr<E> convert(T event)) ObservableStream<E>
Creates a new stream with each data event of this stream asynchronously mapped to a new event.
override
cast<R>() ObservableStream<R>
Adapt this stream to be a Stream<R>.
override
close() Future<void>
Close the observable stream, and stop any future updates to observable properties or any stream subscribers.
configure({T? initialValue, bool cancelOnError = false}) ObservableStream<T>
Create a new stream with the provided initialValue and cancelOnError.
contains(Object? needle) ObservableFuture<bool>
Returns whether needle occurs in the elements provided by this stream.
override
distinct([bool equals(T previous, T next)?]) ObservableStream<T>
Skips data events if they are equal to the previous data event.
override
drain<E>([E? futureValue]) ObservableFuture<E>
Discards all data on this stream, but signals when it is done or an error occurred.
override
elementAt(int index) ObservableFuture<T>
Returns the value of the indexth data event of this stream.
override
every(bool test(T element)) ObservableFuture<bool>
Checks whether test accepts all elements provided by this stream.
override
expand<S>(Iterable<S> convert(T element)) ObservableStream<S>
Transforms each element of this stream into a sequence of elements.
override
firstWhere(bool test(T element), {T orElse()?}) ObservableFuture<T>
Finds the first element of this stream matching test.
override
fold<S>(S initialValue, S combine(S previous, T element)) ObservableFuture<S>
Combines a sequence of values by repeatedly applying combine.
override
forEach(void action(T element)) ObservableFuture
Executes action on each element of this stream.
override
handleError(Function onError, {bool test(dynamic)?}) ObservableStream<T>
Creates a wrapper Stream that intercepts some errors from this stream.
override
join([String separator = '']) ObservableFuture<String>
Combines the string representation of elements into a single string.
override
lastWhere(bool test(T element), {T orElse()?}) ObservableFuture<T>
Finds the last element in this stream matching test.
override
listen(void onData(T value)?, {Function? onError, void onDone()?, bool? cancelOnError}) StreamSubscription<T>
Adds a subscription to this stream.
override
map<S>(S convert(T event)) ObservableStream<S>
Transforms each element of this stream into a new stream event.
override
match<R>({R waiting()?, R active(T)?, R error(dynamic)?, R done(T?, dynamic)?}) → R?
Maps the current status and value or error into a value.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pipe(StreamConsumer<T> streamConsumer) ObservableFuture
Pipes the events of this stream into streamConsumer.
override
reduce(T combine(T previous, T element)) ObservableFuture<T>
Combines a sequence of values by repeatedly applying combine.
override
singleWhere(bool test(T element), {T orElse()?}) ObservableFuture<T>
Finds the single element in this stream matching test.
override
skip(int count) ObservableStream<T>
Skips the first count data events from this stream.
override
skipWhile(bool test(T element)) ObservableStream<T>
Skip data events from this stream while they are matched by test.
override
take(int count) ObservableStream<T>
Provides at most the first count data events of this stream.
override
takeWhile(bool test(T element)) ObservableStream<T>
Forwards data events while test is successful.
override
timeout(Duration timeLimit, {void onTimeout(EventSink<T> sink)?}) ObservableStream<T>
Creates a new stream with the same events as this stream.
override
toList() ObservableFuture<List<T>>
Collects all elements of this stream in a List.
override
toSet() ObservableFuture<Set<T>>
Collects the data of this stream in a Set.
override
toString() String
A string representation of this object.
inherited
transform<S>(StreamTransformer<T, S> streamTransformer) ObservableStream<S>
Applies streamTransformer to this stream.
override
where(bool test(T event)) ObservableStream<T>
Creates a new stream from this stream that discards some elements.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited