Class FSM<Instance, State, Payload>
Constructors
constructor
-
Parameters
-
instance: Instance
-
Default value options: FSMOptions<State> = {}
Returns FSM
Properties
Protected _state
_state: State
Protected Abstract actions
actions
: Action<Instance, State, Payload>[]
Protected Abstract initialState
initialState: State
instance
instance: Instance
Protected logger
logger: LoggerInstance
Protected Abstract states
states: State[]
Methods
afterTransition
- afterTransition(from: State | (string | State)[], to: State, data: Payload): void
-
Parameters
-
from: State | (string | State)[]
-
to: State
-
data: Payload
Returns void
beforeTransition
- beforeTransition(from: State | (string | State)[], to: State, data: Payload): void
-
Parameters
-
from: State | (string | State)[]
-
to: State
-
data: Payload
Returns void
canGoTo
- canGoTo(to: State): boolean
-
Parameters
Returns boolean
goTo
- goTo(to: State, data?: Payload): Promise<boolean>
-
Parameters
-
to: State
-
Optional data: Payload
Returns Promise<boolean>
isValidState
- isValidState(state: State): boolean
-
Parameters
Returns boolean
onTransition
- onTransition(from: State | (string | State)[], to: State, data: Payload): Promise<boolean>
-
Parameters
-
from: State | (string | State)[]
-
to: State
-
data: Payload
Returns Promise<boolean>
pathsTo
- pathsTo(to: State): false | Action<Instance, State>[]
-
Parameters
Returns false
|
Action<Instance, State>[]
Protected setState
- setState(to: State): Promise<void>
-
Parameters
Returns Promise<void>
The main Finite State Machine manager, that holds all available actions and performs the state transitions.