flutter_rxdart_hooks
library
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.
-
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 Notification 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.
-
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.
-
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.
-
Hook<R>
-
Hook is similar to a StatelessWidget, but is not associated
to an Element.
-
HookBuilder
-
A HookWidget that delegates its
build
to a callback.
-
HookState<R, T extends Hook<R>>
-
The logic and internal state for a HookWidget
-
HookWidget
-
A Widget that can use a Hook.
-
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 Notification
objects that are passed into the downstream onData listener.
-
MergeStream<T>
-
Flattens the items emitted by the given streams into a single Stream
sequence.
-
NeverStream<T>
-
Returns a non-terminating stream sequence, which can be used to denote
an infinite duration.
-
Notification<T>
-
A class that encapsulates the Kind of event, value of the event in case of
onData, or the Error in the case of onError.
A container object that wraps the Kind 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 Notification.
-
ObjectRef<T>
-
A class that stores a single 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.
-
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.
-
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.
-
StatefulHookWidget
-
A StatefulWidget that can use a Hook.
-
Store<State, Action>
-
A store of mutable state that allows mutations by dispatching actions.
-
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.
-
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>
-
An Stream that provides synchronous access to the last emitted item
-
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.
Extensions
-
AddToCompositeSubscriptionExtension
on StreamSubscription<T>
-
Extends the StreamSubscription class with the ability to be added to CompositeSubscription container.
-
BufferExtensions
on Stream<T>
-
Extends the Stream class with the ability to buffer events in various ways
-
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
-
DefaultIfEmptyExtension
on Stream<T>
-
-
DelayExtension
on Stream<T>
-
Extends the Stream 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<Notification<T>>
-
Converts the onData, onDone, and onError Notifications from a
materialized stream into normal onData, onDone, and onError events.
-
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.
-
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.
-
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.
-
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.
-
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.
-
IntervalExtension
on Stream<T>
-
Extends the Stream class with the ability to emit each item after a given
duration.
-
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.
-
MaterializeExtension
on Stream<T>
-
Extends the Stream class with the ability to convert the onData, on Done,
and onError events into Notifications 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
-
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
-
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.
-
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.
-
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.
-
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
-
use<R>(Hook<R> hook)
→ R
-
Registers a Hook and returns its value.
-
useAnimation<T>(Animation<T> animation)
→ T
-
Subscribes to an Animation and returns its value.
-
useAnimationController({Duration? duration, Duration? reverseDuration, String? debugLabel, double initialValue = 0, double lowerBound = 0, double upperBound = 1, TickerProvider? vsync, AnimationBehavior animationBehavior = AnimationBehavior.normal, List<Object?>? keys})
→ AnimationController
-
Creates an AnimationController and automatically disposes it when necessary.
-
useAppLifecycleState()
→ AppLifecycleState?
-
Returns the current AppLifecycleState value and rebuilds the widget when it changes.
-
useAutomaticKeepAlive({bool wantKeepAlive = true})
→ void
-
Mark a widget using this hook as needing to stay alive even when it's in a
lazy list that would otherwise remove it.
-
useBehaviorSubjectController<T>({bool sync = false, VoidCallback? onListen, VoidCallback? onCancel, List<Object>? keys})
→ BehaviorSubject<T>
-
Creates a BehaviorSubject which is automatically disposed when necessary.
-
useCallback<T extends Function>(T callback, List<Object?> keys)
→ T
-
Cache a function across rebuilds based on a list of keys.
-
useContext()
→ BuildContext
-
Obtains the BuildContext of the building HookWidget.
-
useEffect(Dispose? effect(), [List<Object?>? keys])
→ void
-
Useful for side-effects and optionally canceling them.
-
useFocusNode({String? debugLabel, FocusOnKeyCallback? onKey, FocusOnKeyEventCallback? onKeyEvent, bool skipTraversal = false, bool canRequestFocus = true, bool descendantsAreFocusable = true})
→ FocusNode
-
Creates an automatically disposed FocusNode.
-
useFocusScopeNode({String? debugLabel, FocusOnKeyCallback? onKey, FocusOnKeyEventCallback? onKeyEvent, bool skipTraversal = false, bool canRequestFocus = true})
→ FocusScopeNode
-
Creates an automatically disposed FocusScopeNode.
-
useFuture<T>(Future<T>? future, {T? initialData, bool preserveState = true})
→ AsyncSnapshot<T>
-
Subscribes to a Future and returns its current state as an AsyncSnapshot.
-
useIsMounted()
→ IsMounted
-
Returns an IsMounted object that you can use
to check if the State is mounted.
-
useListenable<T extends Listenable?>(T listenable)
→ T
-
Subscribes to a Listenable and marks the widget as needing build
whenever the listener is called.
-
useListenableSelector<R>(Listenable listenable, R selector())
→ R
-
Rebuild only when there is a change in the selector result.
-
useMemoized<T>(T valueBuilder(), [List<Object?> keys = const <Object>[]])
→ T
-
Caches the instance of a complex object.
-
useOnAppLifecycleStateChange(LifecycleCallback? onStateChanged)
→ void
-
Listens to the AppLifecycleState.
-
useOnPlatformBrightnessChange(BrightnessCallback onBrightnessChange)
→ void
-
Listens to the platform Brightness.
-
usePageController({int initialPage = 0, bool keepPage = true, double viewportFraction = 1.0, List<Object?>? keys})
→ PageController
-
Creates a PageController that will be disposed automatically.
-
usePlatformBrightness()
→ Brightness
-
Returns the current platform Brightness value and rebuilds the widget when it changes.
-
usePrevious<T>(T val)
→ T?
-
Returns the previous value passed to usePrevious (from the previous widget
build
).
-
useReassemble(VoidCallback callback)
→ void
-
Runs the callback on every hot reload,
similar to
reassemble
in the stateful widgets.
-
useReducer<State, Action>(Reducer<State, Action> reducer, {required State initialState, required Action initialAction})
→ Store<State, Action>
-
An alternative to useState for more complex states.
-
useRef<T>(T initialValue)
→ ObjectRef<T>
-
Creates an object that contains a single mutable property.
-
useScrollController({double initialScrollOffset = 0.0, bool keepScrollOffset = true, String? debugLabel, List<Object?>? keys})
→ ScrollController
-
Creates ScrollController that will be disposed automatically.
-
useSingleTickerProvider({List<Object?>? keys})
→ TickerProvider
-
Creates a single usage TickerProvider.
-
useState<T>(T initialData)
→ ValueNotifier<T>
-
Creates a variable and subscribes to it.
-
useStream<T>(Stream<T>? stream, {T? initialData, bool preserveState = true})
→ AsyncSnapshot<T>
-
Subscribes to a Stream and returns its current state as an AsyncSnapshot.
-
useStreamController<T>({bool sync = false, VoidCallback? onListen, VoidCallback? onCancel, List<Object?>? keys})
→ StreamController<T>
-
Creates a StreamController which is automatically disposed when necessary.
-
useTabController({required int initialLength, TickerProvider? vsync, int initialIndex = 0, List<Object?>? keys})
→ TabController
-
Creates a TabController that will be disposed automatically.
-
useTransformationController({Matrix4? initialValue, List<Object?>? keys})
→ TransformationController
-
Creates and disposes a TransformationController.
-
useValueChanged<T, R>(T value, R? valueChange(T oldValue, R? oldResult))
→ R?
-
Watches a value and triggers a callback whenever the value changed.
-
useValueListenable<T>(ValueListenable<T> valueListenable)
→ T
-
Subscribes to a ValueListenable and returns its value.
-
useValueNotifier<T>(T initialData, [List<Object?>? keys])
→ ValueNotifier<T>
-
Creates a ValueNotifier that is automatically disposed.