redux-automata
Version:
Finite state automata for Redux.
20 lines (19 loc) • 1.11 kB
TypeScript
import { ActionDefinition, ActionPayload, AutomataState, StateDefinition, StateFluentOptions, StateMachineOptions, TypedReducer } from "./common";
import { Node } from "./options";
export declare class Automata<TState> implements StateMachineOptions<TState> {
protected automataName: string;
initial: AutomataState<TState>;
current: AutomataState<TState>;
private states;
private options;
private graphCache?;
constructor(automataName: string);
in(state: StateDefinition<TState, ActionPayload>): StateFluentOptions<TState>;
inAny(): StateFluentOptions<TState>;
beginWith(state: StateDefinition<TState>): void;
state<TActionPayload extends ActionPayload = void>(name: string, reducer: TypedReducer<TState, TActionPayload>): StateDefinition<TState, TActionPayload>;
action<TActionPayload extends ActionPayload = void>(type: string): ActionDefinition<TActionPayload>;
getGraph(): Node<TState, ActionPayload>[];
protected hasTransition(stateName: string, actionType: string): boolean;
protected mergeState(state: TState): TState;
}