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
-
Rx<
T> -
A foundation class that wraps a value of type
T
in a reactive container. This class provides the ability to track and manage the state of the wrapped value. - RxBool
- An Rx object for managing boolean values.
- RxDouble
- A reactive extension of double type, enabling reactive operations on double values.
- RxInt
- A reactive extension of int type, enabling reactive operations on integer values.
-
RxInterface<
T> -
This class is the foundation for all reactive (Rx) classes that makes Get
so powerful.
This interface is the contract that
[_RxImpl]<T>
uses in all it's subclass. - RxJsonUtils
- Utility functions for safer JSON conversion in reactive classes.
-
RxList<
E> -
A reactive list that extends functionality similar to
List<T>
and provides automatic notifications on changes. -
RxMap<
K, V> -
Rxn<
T> -
A specialized version of Rx for nullable types (
T?
). - RxnBool
- An Rx object for managing nullable boolean values.
- RxnDouble
- A reactive extension of double? type, enabling reactive operations on nullable double values.
- RxnInt
- A reactive extension of int? type, enabling reactive operations on nullable integer values.
- RxnNum
- A reactive extension of num? type, enabling reactive operations on nullable numeric values.
- RxnString
-
Rx class for
String
Type. - RxNum
- A reactive extension of num type, enabling reactive operations on numeric values.
-
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> - Extension providing additional functionality for double values wrapped in an Rx object.
-
RxIntExt
on Rx<
int> - Extension providing additional functionality for int values wrapped in an Rx object.
-
RxnBoolExt
on Rx<
bool?> - Extension on Rx<bool?> providing methods for nullable boolean operations.
-
RxnDoubleExt
on Rx<
double?> - Extension providing additional functionality for nullable double values wrapped in an Rx object.
-
RxnIntExt
on Rx<
int?> - Extension providing additional functionality for nullable int values wrapped in an Rx object.
-
RxnNumExt
on Rx<
T?> - Extension providing additional functionality for nullable numeric values wrapped in an Rx object.
-
RxnStringExt
on Rx<
String?> -
RxNumExt
on Rx<
T> - Extension providing additional functionality for numeric values wrapped in an Rx object.
-
RxStringExt
on Rx<
String> - Extension methods for Rx<String> to provide additional functionality.
- RxT on T
-
Generic extension for creating reactive instances of any custom type
T
. - RxTnew on Object
-
A new method to replace the old
.obs
getter. This method avoids conflicts with Dart 3 features by using contextual type inference to determineT
. -
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.
Exceptions / Errors
- ObxError
- Represents an error specific to the use of GetX or Obx.