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 inline observe method (setState) { ... }.
factory
States.from(Observable<T> observable)
Create States from raw Observable.
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 observe states, use returned observation 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<T>> states, required R compute(List<T> items), Equals<R>? equals}) States<R>
Combine multiple States into one States.
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 one States.
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 one States.
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 one States.
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 one States.
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 one States.
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 one States.
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 one States.
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 one States.