States<T> class
States
is a sequence of state.
States
is a variant of Observable
promising to
replay current state to observer synchronously when observed.
Example:
final states = States<int>((setState) {
setState(0); // promising set current state synchronously
// then can set following state asynchronously or synchronously
Future(() => setState(1));
return Disposable.empty;
});
late int currentState;
final observation = states.observe((state) {
currentState = state;
});
print(currentState); // 0
Above currentState
is guarantee to be initialized after
calling states.observe
, since States
promising this behavior.
- Available Extensions
Constructors
-
States(Observe<
T> observe) -
Use
States(...)
to create a sequence of state with an inlineobserve
method(setState) { ... }
.factory -
States.from(Observable<
T> observable) -
Create
States
from rawObservable
.const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
observable
→ Observable<
T> -
The underlining raw
observable
that is promised to replay current state synchronously when observed.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
observe(
OnData< T> onData) → Disposable -
Use
states.observe
to start observestates
, use returnedobservation
to stop observe. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
computed<
T, R> ({required List< States< states, required R compute(List<T> >T> items), Equals<R> ? equals}) → States<R> -
Combine multiple
States
into oneStates
. -
computed2<
T1, T2, R> ({required States< T1> states1, required States<T2> states2, required R compute(T1, T2), Equals<R> ? equals}) → States<R> -
Combine two
States
into oneStates
. -
computed3<
T1, T2, T3, R> ({required States< T1> states1, required States<T2> states2, required States<T3> states3, required R compute(T1, T2, T3), Equals<R> ? equals}) → States<R> -
Combine three
States
into oneStates
. -
computed4<
T1, T2, T3, T4, R> ({required States< T1> states1, required States<T2> states2, required States<T3> states3, required States<T4> states4, required R compute(T1, T2, T3, T4), Equals<R> ? equals}) → States<R> -
Combine four
States
into oneStates
. -
computed5<
T1, T2, T3, T4, T5, R> ({required States< T1> states1, required States<T2> states2, required States<T3> states3, required States<T4> states4, required States<T5> states5, required R compute(T1, T2, T3, T4, T5), Equals<R> ? equals}) → States<R> -
Combine five
States
into oneStates
. -
computed6<
T1, T2, T3, T4, T5, T6, R> ({required States< T1> states1, required States<T2> states2, required States<T3> states3, required States<T4> states4, required States<T5> states5, required States<T6> states6, required R compute(T1, T2, T3, T4, T5, T6), Equals<R> ? equals}) → States<R> -
Combine six
States
into oneStates
. -
computed7<
T1, T2, T3, T4, T5, T6, T7, R> ({required States< T1> states1, required States<T2> states2, required States<T3> states3, required States<T4> states4, required States<T5> states5, required States<T6> states6, required States<T7> states7, required R compute(T1, T2, T3, T4, T5, T6, T7), Equals<R> ? equals}) → States<R> -
Combine seven
States
into oneStates
. -
computed8<
T1, T2, T3, T4, T5, T6, T7, T8, R> ({required States< T1> states1, required States<T2> states2, required States<T3> states3, required States<T4> states4, required States<T5> states5, required States<T6> states6, required States<T7> states7, required States<T8> states8, required R compute(T1, T2, T3, T4, T5, T6, T7, T8), Equals<R> ? equals}) → States<R> -
Combine eight
States
into oneStates
. -
computed9<
T1, T2, T3, T4, T5, T6, T7, T8, T9, R> ({required States< T1> states1, required States<T2> states2, required States<T3> states3, required States<T4> states4, required States<T5> states5, required States<T6> states6, required States<T7> states7, required States<T8> states8, required States<T9> states9, required R compute(T1, T2, T3, T4, T5, T6, T7, T8, T9), Equals<R> ? equals}) → States<R> -
Combine nine
States
into oneStates
.