LxState<T> class
A reactive state container for immutable data flow.
LxState is similar to LxVar, but enforces explicit state transitions via emit or update instead of property setters.
It is ideal for managing complex state objects where you want to ensure controlled modification.
Unlike LxVar, it does not expose in-place mutation helpers or stream binding APIs.
- Inheritance
-
- Object
- LevitReactiveNotifier
- LxBase<
T> - LxState
- Available extensions
Constructors
Properties
-
asReactive
→ LxReactive<
T> -
Exposes this state as a read-only LxReactive interface.
no setter
- computedValue → T
-
Available on LxReactive<
Alias for requireValue.LxStatus< , provided by the LxStatusReactiveExtensions extensionT> >no setter - equals → bool Function(T previous, T current)?
-
Custom equality function. When null, uses
==.finalinherited - errorOrNull → Object?
-
Available on LxReactive<
Returns the current error if the status is LxError, otherwiseLxStatus< , provided by the LxStatusReactiveExtensions extensionT> >null.no setter - graphDepth ↔ int
-
Returns the current depth in the dependency graph.
getter/setter pairinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListener → bool
-
Whether there are active listeners.
no setterinherited
- hasValue → bool
-
Available on LxReactive<
Alias for isSuccess.LxStatus< , provided by the LxStatusReactiveExtensions extensionT> >no setter - id → int
-
A unique runtime identifier for this reactive instance.
finalinherited
- isDisposed → bool
-
Whether the reactive object has been closed/disposed.
no setterinherited
- isError → bool
-
Available on LxReactive<
ReturnsLxStatus< , provided by the LxStatusReactiveExtensions extensionT> >trueif the status is LxError.no setter - isIdle → bool
-
Available on LxReactive<
ReturnsLxStatus< , provided by the LxStatusReactiveExtensions extensionT> >trueif the status is LxIdle.no setter - isLoading → bool
-
Available on LxReactive<
Alias for isWaiting.LxStatus< , provided by the LxStatusReactiveExtensions extensionT> >no setter - isSensitive ↔ bool
-
Whether this reactive object contains sensitive data.
getter/setter pairinherited
- isSuccess → bool
-
Available on LxReactive<
ReturnsLxStatus< , provided by the LxStatusReactiveExtensions extensionT> >trueif the status is LxSuccess.no setter - isWaiting → bool
-
Available on LxReactive<
ReturnsLxStatus< , provided by the LxStatusReactiveExtensions extensionT> >trueif the status is LxWaiting.no setter - lastValue → T?
-
Available on LxReactive<
Returns the LxStatus.lastValue (the most recent successful value).LxStatus< , provided by the LxStatusReactiveExtensions extensionT> >no setter - name ↔ String?
-
An optional descriptive name for debugging and profiling.
getter/setter pairinherited
- onCancel → void Function()?
-
Called when the stream is cancelled.
finalinherited
- onListen → void Function()?
-
Called when the stream is listened to.
finalinherited
- ownerId ↔ String?
-
The registration key of the owning controller, if applicable.
getter/setter pairinherited
- requireValue → T
-
Available on LxReactive<
Force-retrieves the current value if the status is LxSuccess.LxStatus< , provided by the LxStatusReactiveExtensions extensionT> >no setter - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- stackTraceOrNull → StackTrace?
-
Available on LxReactive<
Returns the stack trace if the status is LxError, otherwiseLxStatus< , provided by the LxStatusReactiveExtensions extensionT> >null.no setter -
stream
→ Stream<
T> -
A Stream that emits the latest value whenever it updates.
no setterinherited
- value → T
-
The current state of the reactive object.
no setterinherited
- valueOrNull → T?
-
Available on LxReactive<
Returns the current value if the status is LxSuccess, otherwiseLxStatus< , provided by the LxStatusReactiveExtensions extensionT> >null.no setter -
wait
→ Future<
T> -
Available on LxReactive<
Returns a Future that completes when the operation reaches a terminal state.LxStatus< , provided by the LxStatusReactiveExtensions extensionT> >no setter
Methods
-
addListener(
void listener()) → void -
Adds a listener.
inherited
-
call(
) → T -
Functor-like call to get value.
inherited
-
close(
) → void -
Permanently closes the reactive object and releases all internal resources.
inherited
-
dispose(
) → void -
Disposes the notifier.
inherited
-
emit(
T state) → void -
Emits a new
state. -
listen(
void callback(T value)) → LxWorker< T> -
Available on LxReactive<
Attaches a listener to this reactive value.T> , provided by the LxReactiveWatchExtensions extension -
listen(
void onSuccess(T value), {void onIdle()?, void onWaiting()?, void onError(Object error)?, dynamic onProcessingError(Object error, StackTrace stackTrace)?}) → LxWorker< LxStatus< T> > -
Available on LxReactive<
Specialized listen for async status that allows handling individual states.LxStatus< , provided by the LxStatusReactiveExtensions extensionT> > -
named(
String name) → R -
Available on R, provided by the LxNamingExtension extension
assigns a debugnameto this reactive object. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notify(
) → void -
Alias for refresh.
inherited
-
refresh(
) → void -
Triggers a notification without changing the value.
inherited
-
register(
String ownerId) → R -
Available on R, provided by the LxNamingExtension extension
Links this reactive object to an owner ID. -
removeListener(
void listener()) → void -
Removes a listener.
inherited
-
select<
R> (R selector(T value)) → LxComputed< R> -
Creates a specific selection of the state that only updates when the selected value changes.
inherited
-
sensitive(
) → R -
Available on R, provided by the LxNamingExtension extension
Marks this object as containing sensitive data (redacted in logs). -
toString(
) → String -
A string representation of this object.
inherited
-
update(
T reducer(T state)) → void -
Updates the state by applying a
reducerfunction to the current value.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited