FSM
FSM
A simple type-safe finite state machine. This is used internally to control the Order process, ensuring that the state of Orders, Payments, Fulfillments and Refunds follows a well-defined behaviour.
Signature
class FSM<T extends string, Data = any> {
constructor(config: StateMachineConfig<T, Data>, initialState: T)
initialState: T
currentState: T
transitionTo(state: T, data?: Data) => void;
async transitionTo(state: T, data: Data) => ;
jumpTo(state: T) => ;
getNextStates() => ReadonlyArray<T>;
canTransitionTo(state: T) => boolean;
}
Members
constructor
(config: StateMachineConfig<T, Data>, initialState: T) => FSM
initialState
T
currentState
T
transitionTo
(state: T, data?: Data) => void
transitionTo
(state: T, data: Data) =>
jumpTo
(state: T) =>
getNextStates
() => ReadonlyArray<T>
canTransitionTo
(state: T) => boolean