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> - A linked list implementation optimized for fast notifications.
-
MiniStream<
T> - A mini stream implementation.
-
MiniSubscription<
T> - Represents a mini subscription for a stream.
-
Node<
T> - Represents a node in a linked list.
-
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
- 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
-
RxList<
E> -
A reactive list that extends functionality similar to
List<T>
and provides automatic notifications on changes. -
RxMap<
K, V> -
Rxn<
T> - Extension providing additional functionality for nullable class values wrapped in an Rx object.
- 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
-
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.
Exceptions / Errors
- ObxError
- Represents an error specific to the use of GetX or Obx.