Interface StateMachine<EventPayloadMapping, Context, States>
interface StateMachine< EventPayloadMapping, Context, States extends string = "IDLE",> { possibleStates: States[]; states: Record<States, State<EventPayloadMapping, Context, States>>; happens<K extends string | number | symbol>( event: K, payload: EventPayloadMapping[K], context: Context, ): States; onHappens( callback: ( event: keyof EventPayloadMapping, payload: EventPayloadMapping[keyof EventPayloadMapping], context: Context, ) => void, ): void; onStateChange( callback: StateChangeCallback<EventPayloadMapping, Context, States>, ): void; setContext(context: Context): void; switchTo(state: States): void;} Type Parameters
- EventPayloadMapping
- Context
- States extends string = "IDLE"
Properties
Methods
happens
Type Parameters
- K extends string | number | symbol