yao_core library

Classes

EitherType<A, B>
EventManager
FastList<T>
GetNotifier<T>
GetStream<T>
GetStream is the lightest and most performative way of working with events at Dart. You sintaxe is like StreamController, but it works with simple callbacks. In this way, every event calls only one function. There is no buffering, to very low memory consumption. event add will add a object to stream. addError will add a error to stream. listen is a very light StreamSubscription interface. Is possible take the last value with value property.
GetStreamTransformation<T>
LightSubscription<T>
MiniStream<T>
MiniSubscription<T>
Node<T>
Obx
The simplest reactive widget in GetX.
ObxState
ObxValue<T extends RxInterface>
Similar to Obx, but manages a local state. Pass the initial data in constructor. Useful for simple local states, like toggles, visibility, themes, button states, etc. Sample: ObxValue((data) => Switch( value: data.value, onChanged: (flag) => data.value = flag, ), false.obs, ),
ObxWidget
The ObxWidget is the base for all GetX reactive widgets
Rx<T>
Foundation class used for custom Types outside the common native Dart types. For example, any custom "Model" class, like User().obs will use Rx as wrapper.
RxBool
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>
Create a list similar to List<T>
RxMap<K, V>
Rxn<T>
RxnBool
RxnDouble
RxnInt
RxnNum
RxNotifier<T>
RxnString
Rx class for String Type.
RxNum
RxSet<E>
RxStatus
RxString
Rx class for String Type.
Value<T>
Worker
Workers
YaoController
YaoControllerCustom
YaoControllerWithState<T>
YaoService<T>
YaoView<T>

Enums

YaoEvent

Mixins

NotifyManager<T>
RxObjectMixin<T>
global object that registers against GetX and Obx, and allows the reactivity of those Widgets and Rx values.
StateMixin<T>

Functions

debounce<T>(RxInterface<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", when time hits, it calls callback with the last "value" emitted.
ever<T>(RxInterface<T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
Called every time listener changes. As long as the condition 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 the callback is common to all listeners, and the callback is executed to each one of them. The Worker is common to all, so worker.dispose() will cancel all streams.
interval<T>(RxInterface<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 during time (1 sec by default) or until condition is met (can be a bool expression or a bool 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>(RxInterface<T> listener, WorkerCallback<T> callback, {dynamic condition = true, Function? onError, void onDone()?, bool? cancelOnError}) Worker
once() will execute only 1 time when condition is met and cancel the subscription to the listener stream right after that. condition defines when callback is called, and can be a bool or a bool Function().
Yao() → App

Typedefs

AddSubscription<T> = FutureOr<void> Function(LightSubscription<T> subs)
Condition = bool Function()
EventCb = Future<void> Function(Map<String, dynamic>? args)
NotifierBuilder<T> = Widget Function(T state)
RemoveSubscription<T> = FutureOr<bool?> Function(LightSubscription<T> subs)
WidgetCallback = Widget Function()
WorkerCallback<T> = dynamic Function(T callback)