rxdart_ext library
Some extensions built on top of RxDart.
Author: Petrus Nguyễn Thái Học
Classes
-
AbstractConnectableStream<
T, S extends Subject< T> , R extends Stream<T> > -
Base class for implementations of ConnectableStream.
S
is type of the forwarding Subject.R
is return type of autoConnect and refCount (type constraint:S extends R
). -
BehaviorSubject<
T> - A special StreamController that captures the latest item that has been added to the controller, and emits that as the first item to any new listener.
-
BufferCountStreamTransformer<
T> - Buffers a number of values from the source Stream by count then emits the buffer and clears it, and starts a new buffer each startBufferEvery values. If startBufferEvery is not provided, then new buffers are started immediately at the start of the source and when each buffer closes and is emitted.
-
BufferStreamTransformer<
T> - Creates a Stream where each item is a List containing the items from the source sequence.
-
BufferTestStreamTransformer<
T> - Creates a Stream where each item is a List containing the items from the source sequence, batched whenever test passes.
-
CombineLatestStream<
T, R> - Merges the given Streams into one Stream sequence by using the combiner function whenever any of the source stream sequences emits an item.
- CompositeSubscription
- Acts as a container for multiple subscriptions that can be canceled at once e.g. view subscriptions in Flutter that need to be canceled on view disposal
-
ConcatEagerStream<
T> - Concatenates all of the specified stream sequences, as long as the previous stream sequence terminated successfully.
-
ConcatStream<
T> - Concatenates all of the specified stream sequences, as long as the previous stream sequence terminated successfully.
-
ConnectableStream<
T> - A ConnectableStream resembles an ordinary Stream, except that it can be listened to multiple times and does not begin emitting items when it is listened to, but only when its connect method is called.
-
ConnectableStreamSubscription<
T> - A special StreamSubscription that not only cancels the connection to the source Stream, but also closes down a subject that drives the Stream.
-
DataNotification<
T> - A notification representing a data event from a Stream.
-
DebounceStreamTransformer<
T> - Transforms a Stream so that will only emit items from the source sequence if a window has completed, without the source sequence emitting another item.
-
DefaultIfEmptyStreamTransformer<
S> - Emit items from the source Stream, or a single default item if the source Stream emits nothing.
-
DeferStream<
T> - The defer factory waits until a listener subscribes to it, and then it creates a Stream with the given factory function.
-
DelayStreamTransformer<
S> - The Delay operator modifies its source Stream by pausing for a particular increment of time (that you specify) before emitting each of the source Stream’s items. This has the effect of shifting the entire sequence of items emitted by the Stream forward in time by that specified increment.
-
DelayWhenStreamTransformer<
T> - Delays the emission of items from the source Stream by a given time span determined by the emissions of another Stream.
-
DematerializeStreamTransformer<
S> - Converts the onData, onDone, and onError StreamNotification objects from a materialized stream into normal onData, onDone, and onError events.
-
DistinctUniqueStreamTransformer<
S> -
Create a Stream which implements a HashSet under the hood, using
the provided
equals
as equality. - DoneNotification
- A notification representing a done event from a Stream.
-
DoStreamTransformer<
S> - Invokes the given callback at the corresponding point the the stream lifecycle. For example, if you pass in an onDone callback, it will be invoked when the stream finishes emitting items.
-
EndWithManyStreamTransformer<
S> - Appends a sequence of values to the source Stream.
-
EndWithStreamTransformer<
S> - Appends a value to the source Stream before closing.
- ErrorAndStackTrace
- An Object which acts as a tuple containing both an error and the corresponding stack trace.
- ErrorNotification
- A notification representing an error event from a Stream.
-
ExhaustMapStreamTransformer<
S, T> - Converts events from the source stream into a new Stream using a given mapper. It ignores all items from the source stream until the new stream completes.
-
FlatMapStreamTransformer<
S, T> - 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.
-
ForkJoinStream<
T, R> - This operator is best used when you have a group of streams and only care about the final emitted value of each. One common use case for this is if you wish to issue multiple requests on page load (or some other event) and only want to take action when a response has been received for all.
-
FromCallableStream<
T> - Returns a Stream that, when listening to it, calls a function you specify and then emits the value returned from that function.
-
GroupByStreamTransformer<
T, K> - The GroupBy operator divides a Stream that emits items into a Stream that emits GroupedStream, each one of which emits some subset of the items from the original source Stream.
-
GroupedStream<
T, K> - The Stream used by GroupByStreamTransformer, it contains events that are grouped by a key value.
-
IgnoreElementsStreamTransformer<
S> - Creates a Stream where all emitted items are ignored, only the error / completed notifications are passed
-
IntervalStreamTransformer<
S> - Creates a Stream that emits each item in the Stream after a given duration.
-
MapNotNullStreamTransformer<
T, R extends Object> -
Create a Stream containing only the non-
null
results of applying the given transform function to each element of the Stream. -
MapToStreamTransformer<
S, T> - Emits the given constant value on the output Stream every time the source Stream emits a value.
-
MaterializeStreamTransformer<
S> - Converts the onData, on Done, and onError events into StreamNotification objects that are passed into the downstream onData listener.
-
MergeStream<
T> - Flattens the items emitted by the given streams into a single Stream sequence.
-
MutableStateStream<
T> - A mutable StateStream that provides a setter for value.
-
NeverStream<
T> - Returns a non-terminating stream sequence, which can be used to denote an infinite duration.
-
NotReplayValueConnectableStream<
T> - A ConnectableStream that converts a single-subscription Stream into a broadcast Stream, and provides synchronous access to the latest emitted value.
-
NotReplayValueStream<
T> - The marker interface for ValueStream classes that provide synchronous access to the last emitted item, but do not replay the latest value.
-
OnErrorResumeStreamTransformer<
S> - Intercepts error events and switches to a recovery stream created by the provided recoveryFn Function.
-
PairwiseStreamTransformer<
T> - Emits the n-th and n-1th events as a pair. The first event won't be emitted until the second one arrives.
-
PublishConnectableStream<
T> - A ConnectableStream that converts a single-subscription Stream into a broadcast Stream.
-
PublishSubject<
T> - Exactly like a normal broadcast StreamController with one exception: this class is both a Stream and Sink.
-
RaceStream<
T> - Given two or more source streams, emit all of the items from only the first of these streams to emit an item or notification.
- RangeStream
- Returns a Stream that emits a sequence of Integers within a specified range.
-
RepeatStream<
T> - Creates a Stream that will recreate and re-listen to the source Stream the specified number of times until the Stream terminates successfully.
-
ReplayConnectableStream<
T> - A ConnectableStream that converts a single-subscription Stream into a broadcast Stream that replays emitted items to any new listener, and provides synchronous access to the list of emitted values.
-
ReplayStream<
T> - An Stream that provides synchronous access to the emitted values
-
ReplaySubject<
T> - A special StreamController that captures all of the items that have been added to the controller, and emits those as the first items to any new listener.
-
RetryStream<
T> - Creates a Stream that will recreate and re-listen to the source Stream the specified number of times until the Stream terminates successfully.
-
RetryWhenStream<
T> - Creates a Stream that will recreate and re-listen to the source Stream when the notifier emits a new value. If the source Stream emits an error or it completes, the Stream terminates.
- Rx
- A utility class that provides static methods to create the various Streams provided by RxDart.
- RxSingles
-
A utility class that provides static methods to create the various Singles
provided by
rxdart_ext
. -
SampleStreamTransformer<
T> - A StreamTransformer that, when the specified window Stream emits an item or completes, emits the most recently emitted item (if any) emitted by the source Stream since the previous emission from the sample Stream.
-
ScanStreamTransformer<
S, T> - Applies an accumulator function over an stream sequence and returns each intermediate result. The seed value is used as the initial accumulator value.
-
SequenceEqualStream<
S, T> - Determine whether two Streams emit the same sequence of items. You can provide an optional equals handler to determine equality.
-
Single<
T> - A Stream which emits single event, either data or error, and then close with a done-event.
-
SkipLastStreamTransformer<
T> - Skip the last count items emitted by the source Stream
-
SkipUntilStreamTransformer<
S, T> - Starts emitting events only after the given stream emits an event.
-
StartWithManyStreamTransformer<
S> - Prepends a sequence of values to the source Stream.
-
StartWithStreamTransformer<
S> - Prepends a value to the source Stream.
-
StateConnectableStream<
T> - A ConnectableStream that converts a single-subscription Stream into a broadcast Stream, and provides synchronous access to the latest emitted value.
-
StateStream<
T> - A Stream that provides synchronous access to the last emitted item, and two consecutive values are not equal.
-
StateSubject<
T> - A special Subject / StreamController that captures the latest item that has been added to the controller.
-
StreamNotification<
T> - A class that encapsulates the NotificationKind of event, value of the event in case of onData, or the Error in the case of onError. A container object that wraps the NotificationKind of event (OnData, OnDone, OnError), and the item or error that was emitted. In the case of onDone, no data is emitted as part of the StreamNotification.
-
Subject<
T> - The base for all Subjects. If you'd like to create a new Subject, extend from this class.
-
SwitchIfEmptyStreamTransformer<
S> - When the original stream emits no items, this operator subscribes to the given fallback stream and emits items from that stream instead.
-
SwitchLatestStream<
T> - Convert a Stream that emits Streams (aka a 'Higher Order Stream') into a single Stream that emits the items emitted by the most-recently-emitted of those Streams.
-
SwitchMapStreamTransformer<
S, T> - 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.
-
TakeLastStreamTransformer<
T> - Emits only the final count values emitted by the source Stream.
-
TakeUntilStreamTransformer<
S, T> - Returns the values from the source stream sequence until the other stream sequence produces a value.
-
TakeWhileInclusiveStreamTransformer<
S> - Emits values emitted by the source Stream so long as each value satisfies the given test. When the test is not satisfied by a value, it will emit this value as a final event and then complete.
-
ThrottleStreamTransformer<
T> - A StreamTransformer that emits a value from the source Stream, then ignores subsequent source values while the window Stream is open, then repeats this process.
-
TimeInterval<
T> - A class that represents a snapshot of the current value emitted by a Stream, at a specified interval.
-
TimeIntervalStreamTransformer<
S> - Records the time interval between consecutive values in an stream sequence.
-
TimerStream<
T> - Emits the given value after a specified amount of time.
-
Timestamped<
T> - A class that represents a snapshot of the current value emitted by a Stream, at a specified timestamp.
-
TimestampStreamTransformer<
S> - Wraps each item emitted by the source Stream in a Timestamped object that includes the emitted item and the time when the item was emitted.
-
UsingStream<
T, R> -
When listener listens to it, creates a resource object from resource factory function,
and creates a Stream from the given factory function and resource as argument.
Finally when the stream finishes emitting items or stream subscription
is cancelled (call StreamSubscription.cancel or
Stream.listen(cancelOnError: true)
), call the disposer function on resource object. The disposer is called after the future returned from StreamSubscription.cancel completes. -
ValueConnectableStream<
T> - A ConnectableStream that converts a single-subscription Stream into a broadcast Stream that replays the latest value to any new listener, and provides synchronous access to the latest emitted value.
-
ValueStream<
T> - A Stream that provides synchronous access to the last emitted value (aka. data event).
-
ValueStreamController<
T> - A controller with a stream that supports only one single subscriber. The stream of this controller is a single-subscription NotReplayValueStream that provides synchronous access to the last emitted item.
-
ValueSubject<
T> - A special StreamController that captures the latest item that has been added to the controller.
-
WhereNotNullStreamTransformer<
T extends Object> -
Create a Stream which emits all the non-
null
elements of the Stream, in their original emission order. -
WhereTypeStreamTransformer<
S, T> - This transformer is a shorthand for Stream.where followed by Stream.cast.
-
WindowCountStreamTransformer<
T> - Buffers a number of values from the source Stream by count then emits the buffer as a Stream and clears it, and starts a new buffer each startBufferEvery values. If startBufferEvery is not provided, then new buffers are started immediately at the start of the source and when each buffer closes and is emitted.
-
WindowStreamTransformer<
T> - Creates a Stream where each item is a Stream containing the items from the source sequence.
-
WindowTestStreamTransformer<
T> - Creates a Stream where each item is a Stream containing the items from the source sequence, batched whenever test passes.
-
WithLatestFromStreamTransformer<
S, T, R> - A StreamTransformer that emits when the source stream emits, combining the latest values from the two streams using the provided function.
-
ZipStream<
T, R> - Merges the specified streams into one stream sequence using the given zipper Function whenever all of the stream sequences have produced an element at a corresponding index.
Enums
- NotificationKind
- The type of event used in StreamNotification
Mixins
- DisposableMixin
- This mixin adds an easy option to dispose streams without having to store a StreamSubscription variable.
Extensions
-
AddNullSinkExtension
on Sink<
void> - Provide addNull extension on Sink<void>.
-
AddToCompositeSubscriptionExtension
on StreamSubscription<
T> - Extends the StreamSubscription class with the ability to be added to CompositeSubscription container.
-
AsSingleFunctionExtension
on FutureOr<
T> Function() - Provides asSingle extension for a Function that returns a FutureOr.
-
AsSingleFutureExtension
on Future<
T> - Provides asSingle extension for Future.
-
AsVoidSingleExtension
on Single<
T> -
Extends the Single class with the ability to convert the source Single to a
Single<void>
. -
AsVoidStreamExtension
on Stream<
T> -
Extends the Stream class with the ability to convert the source Stream to a
Stream<void>
. -
AsyncExpandSingleExtension
on Single<
T> - Provides asyncExpandSingle extension for Single.
-
BroadcastStateStreamExtensions
on StateStream<
T> - Convert a StateStream to a broadcast StateStream.
-
BufferExtensions
on Stream<
T> - Extends the Stream class with the ability to buffer events in various ways
-
CollectStreamExtension
on Stream<
T> - Listen without any handler.
-
ConcatExtensions
on Stream<
T> - Extends the Stream class with the ability to concatenate one stream with another.
-
ConnectableStreamExtensions
on Stream<
T> - Extends the Stream class with the ability to transform a single-subscription Stream into a ConnectableStream.
-
DebounceExtensions
on Stream<
T> - Extends the Stream class with the ability to debounce events in various ways
-
DebugSingleExtension
on Single<
T> - RxDart debug operator - Port from RxSwift Debug Operator
-
DebugStreamExtension
on Stream<
T> - RxDart debug operator - Port from RxSwift Debug Operator
-
DefaultIfEmptyExtension
on Stream<
T> -
DelayExtension
on Stream<
T> - Extends the Stream class with the ability to delay events being emitted
-
DelaySingleExtension
on Single<
T> - Extends the Single class with the ability to delay events being emitted
-
DelayWhenExtension
on Stream<
T> - Extends the Stream class with the ability to delay events being emitted.
-
DematerializeExtension
on Stream<
StreamNotification< T> > - Converts the onData, onDone, and onError StreamNotifications from a materialized stream into normal onData, onDone, and onError events.
-
DistinctByExtension
on Stream<
T> - Skips data events if their key are equal to the key of the previous data event.
-
DistinctUniqueByStreamExtension
on Stream<
T> - WARNING: More commonly known as distinct in other Rx implementations.
-
DistinctUniqueExtension
on Stream<
T> - Extends the Stream class with the ability to skip items that have previously been emitted.
-
DoExtensions
on Stream<
T> - Extends the Stream class with the ability to execute a callback function at different points in the Stream's lifecycle.
-
DoneOnErrorStreamExtension
on Stream<
T> - Extends the Stream class with the ability to convert the source Stream to a Stream that emits done event on first error event. The error is included in the output of the returned Stream.
-
DoOnStreamExtensions
on Stream<
T> - Invokes the given callback at the corresponding point the the stream lifecycle. For example, if you pass in an onDone callback, it will be invoked when the stream finishes emitting items.
-
DoSingleExtensions
on Single<
T> - Extends the Single class with the ability to execute a callback function at different points in the Single's lifecycle.
-
EndWithExtension
on Stream<
T> - Extends the Stream class with the ability to emit the given value as the final item before closing.
-
EndWithManyExtension
on Stream<
T> - Extends the Stream class with the ability to emit the given value as the final item before closing.
-
ErrorAndStackTracesReplayStreamExtension
on ReplayStream<
T> - Extension method on ReplayStream to access the emitted ErrorAndStackTraces.
-
ErrorAndStackTraceValueStreamExtension
on ValueStream<
T> - Extension method on ValueStream to access the last emitted ErrorAndStackTrace.
-
ExhaustMapExtension
on Stream<
T> - Extends the Stream class with the ability to transform the Stream into a new Stream. The new Stream emits items and ignores events from the source Stream until the new Stream completes.
-
ExhaustMapSingleExtension
on Single<
T> - Provides exhaustMapSingle extension for Single.
-
FlatMapBatchesStreamExtension
on Stream<
T> -
Extends the Stream class with the ability to convert each element to a Stream,
then listen to at most
size
Stream at a time and outputs their results insize
-sized batches, while maintaining order within each batch — subsequent batches of Streams are only listened to when the batch before it successfully completes. -
FlatMapEitherSingleExtension
on Single<
Either< L, R1> > -
Extends the Single class with the ability to transform the
Either
events. -
FlatMapExtension
on Stream<
T> - Extends the Stream class with the ability to convert the source Stream into a new Stream each time the source emits an item.
-
FlatMapSingleExtension
on Single<
T> - Provides flatMapSingle extension for Single.
-
GroupByExtension
on Stream<
T> - Extends the Stream class with the ability to convert events into Streams of events that are united by a key.
-
IgnoreElementsExtension
on Stream<
T> - Extends the Stream class with the ability to skip, or ignore, data events.
-
IgnoreErrorsStreamExtension
on Stream<
T> - Ignore all error events, forward only data and done event.
-
IntervalExtension
on Stream<
T> - Extends the Stream class with the ability to emit each item after a given duration.
-
LastEventValueStreamExtensions
on ValueStream<
T> - Extension methods on ValueStream related to lastEventOrNull.
-
MapNotNullExtension
on Stream<
T> -
Extends the Stream class with the ability to convert the source Stream
to a Stream containing only the non-
null
results of applying the given transform function to each element of this Stream. -
MapToExtension
on Stream<
S> - Extends the Stream class with the ability to convert each item to the same value.
-
MapToSingleExtension
on Single<
T> - Extends the Single class with the ability to convert the item to the same value.
-
MaterializeExtension
on Stream<
T> - Extends the Stream class with the ability to convert the onData, on Done, and onError events into StreamNotifications that are passed into the downstream onData listener.
-
MaxExtension
on Stream<
T> - Extends the Stream class with the ability to transform into a Future that completes with the largest item emitted by the Stream.
-
MergeExtension
on Stream<
T> - Extends the Stream class with the ability to merge one stream with another.
-
MinExtension
on Stream<
T> - Extends the Stream class with the ability to transform into a Future that completes with the smallest item emitted by the Stream.
-
OnErrorExtensions
on Stream<
T> - Extends the Stream class with the ability to recover from errors in various ways
-
OnErrorResumeSingleExtensions
on Single<
T> - Extends the Single class with the ability to recover from errors in various ways.
-
PairwiseExtension
on Stream<
T> - Extends the Stream class with the ability to emit the nth and n-1th events as a pair
-
SampleExtensions
on Stream<
T> - Extends the Stream class with the ability to sample events from the Stream
-
ScanExtension
on Stream<
T> - Extends
-
SelectorsStateStreamExtensions
on StateStream<
State> - Select a sub state slice from state stream.
-
SingleOrErrorSingleExtension
on Single<
T> - Return this Single.
-
SingleOrErrorStreamExtension
on Stream<
T> - Provides singleOrError extension for Stream.
-
SkipLastExtension
on Stream<
T> -
Extends the Stream class with the ability to skip the last
count
items emitted by the source Stream -
SkipUntilExtension
on Stream<
T> - Extends the Stream class with the ability to skip events until another Stream emits an item.
-
StartWithExtension
on Stream<
T> - Extends the Stream class with the ability to emit the given value as the first item.
-
StartWithManyExtension
on Stream<
T> - Extends the Stream class with the ability to emit the given values as the first items.
-
StateConnectableExtensions
on Stream<
T> - Provide two extension methods for Stream:
-
StreamNotificationExtensions
on StreamNotification<
T> - Provides extension methods on StreamNotification.
-
SwitchIfEmptyExtension
on Stream<
T> - Extend the Stream class with the ability to return an alternative Stream if the initial Stream completes with no items.
-
SwitchMapExtension
on Stream<
T> - Extends the Stream with the ability to convert one stream into a new Stream whenever the source emits an item. Every time a new Stream is created, the previous Stream is discarded.
-
SwitchMapSingleExtension
on Single<
T> - Provides switchMapSingle extension for Single.
-
TakeLastExtension
on Stream<
T> -
Extends the Stream class with the ability receive only the final
count
events from the source Stream. -
TakeUntilExtension
on Stream<
T> - Extends the Stream class with the ability receive events from the source Stream until another Stream produces a value.
-
TakeWhileInclusiveExtension
on Stream<
T> - Extends the Stream class with the ability to take events while they pass the condition given and include last event that doesn't pass the condition.
-
ThrottleExtensions
on Stream<
T> - Extends the Stream class with the ability to throttle events in various ways
-
TimeIntervalExtension
on Stream<
T> - Extends the Stream class with the ability to record the time interval between consecutive values in an stream
-
TimeStampExtension
on Stream<
T> - Extends the Stream class with the ability to wrap each item emitted by the source Stream in a Timestamped object that includes the emitted item and the time when the item was emitted.
-
ToEitherSingleExtension
on Single<
R> -
Extends the Single class with the ability to convert the events to
Either
values. -
ToNotReplayValueStreamExtension
on Stream<
T> - Convert this Stream to a single-subscription NotReplayValueStream.
-
ToSingleSubscriptionStreamExtension
on Stream<
T> - Converts a broadcast Stream into a single-subscription Stream.
-
ToStateStreamExtension
on Stream<
T> - Convert this Stream to a StateStream.
-
UpdateMutableStateStreamExtensions
on MutableStateStream<
T> -
Provides
update
extension methods on MutableStateStream. -
ValueConnectableNotReplayStreamExtensions
on Stream<
T> - Extension that converts a Stream into NotReplayValueConnectableStream and NotReplayValueStream.
-
WhereNotNullExtension
on Stream<
T?> -
Extends the Stream class with the ability to convert the source Stream
to a Stream which emits all the non-
null
elements of this Stream, in their original emission order. -
WhereTypeExtension
on Stream<
T> - Extends the Stream class with the ability to filter down events to only those of a specific type.
-
WindowExtensions
on Stream<
T> - Extends the Stream class with the ability to window
-
WithLatestFromExtensions
on Stream<
T> - Extends the Stream class with the ability to merge the source Stream with the last emitted item from another Stream.
-
ZipWithExtension
on Stream<
T> - Extends the Stream class with the ability to zip one Stream with another.
Functions
Typedefs
-
Equality<
T> = bool Function(T previous, T next) - Determine equality.
-
Selector<
State, V> = V Function(State state) - Inspirited by NgRx memoized selector
Exceptions / Errors
- APIContractViolationError
- Generic error thrown on API contract violations.
- ValueStreamError
- The error throw by ValueStream.value or ValueStream.error.