get_rx/get_rx library
A library that provides reactive programming utilities for Flutter applications.
The get_rx
library includes classes and utilities for managing reactive streams,
defining reactive types, and working with reactive workers.
Classes
-
FastList<
T> -
MiniStream<
T> -
MiniSubscription<
T> -
Node<
T> - ObxError
- Represents an error specific to the use of GetX or Obx.
-
Rx<
T> -
Foundation class used for custom
Types
outside the common native Dart types. For example, any custom "Model" class, like User().obs will useRx
as wrapper. - RxBool
- An Rx object for managing boolean values.
- RxDouble
- RxInt
-
RxInterface<
T> -
This class is the foundation for all reactive (Rx) classes that makes Get
so powerful.
This interface is the contract that
_RxImpl
-
RxList<
E> -
A reactive list that extends functionality similar to
List<T>
and provides automatic notifications on changes. -
RxMap<
K, V> - RxnBool
- An Rx object for managing nullable boolean values.
- RxnDouble
- RxnInt
- RxnNum
- RxnString
-
Rx class for
String
Type. - RxNum
-
RxSet<
E> - RxString
-
Rx class for
String
Type. - Worker
- A class representing a worker for executing asynchronous tasks with disposal functionality.
- Workers
- A class for managing a collection of workers and disposing them when necessary.
Mixins
-
RxObjectMixin<
T> -
global object that registers against
GetX
andObx
, and allows the reactivity of thoseWidgets
and Rx values.
Extensions
- BoolExtension on bool
- Extension on bool providing methods to create reactive booleans.
- DoubleExtension on double
- Extension on double providing methods to create reactive doubles.
- IntExtension on int
- Extension on int providing methods to create reactive integers.
-
ListExtension
on List<
E> -
MapExtension
on Map<
K, V> -
RxBoolExt
on Rx<
bool> - Extension on Rx<bool> providing methods for boolean operations.
-
RxDoubleExt
on Rx<
double> -
RxIntExt
on Rx<
int> -
RxnBoolExt
on Rx<
bool?> - Extension on Rx<bool?> providing methods for nullable boolean operations.
-
RxnDoubleExt
on Rx<
double?> -
RxnIntExt
on Rx<
int?> -
RxnNumExt
on Rx<
T?> -
RxnStringExt
on Rx<
String?> -
RxNumExt
on Rx<
T> -
RxStringExt
on Rx<
String> - RxT on T
-
Extension on
T
providing methods to create reactive instances of typeT
. - RxTnew on Object
-
This method will replace the old
.obs
method. It's a breaking change, but it is essential to avoid conflicts with the new dart 3 features. T will be inferred by contextual type inference rather than the extension type. -
SetExtension
on Set<
E> - StringExtension on String
- Extension on String providing methods to create reactive strings.
Functions
-
debounce<
T> (GetListenable< T> listener, WorkerCallback<T> callback, {Duration? time, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
debounce is similar to interval, but sends the last value.
Useful for Anti DDos, every time the user stops typing for 1 second,
for instance.
When
listener
emits the last "value", whentime
hits, it callscallback
with the last "value" emitted. -
ever<
T> (GetListenable< T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
Called every time
listener
changes. As long as thecondition
returns true. -
everAll(
List< RxInterface> listeners, WorkerCallback callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
Similar to ever, but takes a list of
listeners
, the condition for thecallback
is common to alllisteners
, and thecallback
is executed to each one of them. The Worker is common to all, soworker.dispose()
will cancel all streams. -
interval<
T> (GetListenable< T> listener, WorkerCallback<T> callback, {Duration time = const Duration(seconds: 1), dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
Ignore all changes in
listener
duringtime
(1 sec by default) or untilcondition
is met (can be a bool expression or abool Function()
), It brings the 1st "value" since the period of time, so if you click a counter button 3 times in 1 sec, it will show you "1" (after 1 sec of the first press) click counter 3 times in 1 sec, it will show you "4" (after 1 sec) click counter 2 times in 1 sec, it will show you "7" (after 1 sec). -
once<
T> (GetListenable< T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) → Worker -
once()
will execute only 1 time whencondition
is met and cancel the subscription to thelistener
stream right after that.condition
defines whencallback
is called, and can be a bool or abool Function()
.
Typedefs
-
WorkerCallback<
T> = dynamic Function(T callback) - A typedef representing a callback function used by workers.