@jewel998/state-machine - v0.0.5 / StateMachineDefinition
Class: StateMachineDefinition<TContext, TState, TEvent>
Type parameters
| Name | Type |
|---|---|
TContext | extends ContextConstraint |
TState | extends StateIdentifier |
TEvent | extends EventIdentifier |
Implements
IStateMachineDefinition<TContext,TState,TEvent>
Table of contents
Constructors
Methods
- canTransition
- canTransitionAsync
- processEvent
- processEventAsync
- getAvailableEvents
- getInitialState
- getAllStates
- getConfiguration
- addMiddleware
- removeMiddleware
- hasMiddleware
- getMiddleware
- getPipelineOrder
- clearPipeline
- getChainOrder
- clearChain
Constructors
constructor
• new StateMachineDefinition<TContext, TState, TEvent>(config, middlewareManager?): StateMachineDefinition<TContext, TState, TEvent>
Type parameters
| Name | Type |
|---|---|
TContext | extends ContextConstraint |
TState | extends StateIdentifier |
TEvent | extends EventIdentifier |
Parameters
| Name | Type |
|---|---|
config | StateMachineConfig<TContext, TState, TEvent> |
middlewareManager? | IMiddlewareManager<TContext, TState> |
Returns
StateMachineDefinition<TContext, TState, TEvent>
Defined in
src/core/StateMachineDefinition.ts:49
Methods
canTransition
▸ canTransition(currentState, event, context): boolean
Parameters
| Name | Type |
|---|---|
currentState | TState |
event | TEvent |
context | TContext |
Returns
boolean
Implementation of
IStateMachineDefinition.canTransition
Defined in
src/core/StateMachineDefinition.ts:61
canTransitionAsync
▸ canTransitionAsync(currentState, event, context): Promise<boolean>
Parameters
| Name | Type |
|---|---|
currentState | TState |
event | TEvent |
context | TContext |
Returns
Promise<boolean>
Implementation of
IStateMachineDefinition.canTransitionAsync
Defined in
src/core/StateMachineDefinition.ts:87
processEvent
▸ processEvent(currentState, event, context): TransitionResult<TState, TContext>
Parameters
| Name | Type |
|---|---|
currentState | TState |
event | TEvent |
context | TContext |
Returns
TransitionResult<TState, TContext>
Implementation of
IStateMachineDefinition.processEvent
Defined in
src/core/StateMachineDefinition.ts:109
processEventAsync
▸ processEventAsync(currentState, event, context): Promise<AsyncTransitionResult<TState, TContext>>
Parameters
| Name | Type |
|---|---|
currentState | TState |
event | TEvent |
context | TContext |
Returns
Promise<AsyncTransitionResult<TState, TContext>>
Implementation of
IStateMachineDefinition.processEventAsync
Defined in
src/core/StateMachineDefinition.ts:121
getAvailableEvents
▸ getAvailableEvents(currentState, context?): readonly TEvent[]
Parameters
| Name | Type |
|---|---|
currentState | TState |
context? | TContext |
Returns
readonly TEvent[]
Implementation of
IStateMachineDefinition.getAvailableEvents
Defined in
src/core/StateMachineDefinition.ts:140
getInitialState
▸ getInitialState(): TState
Returns
TState
Implementation of
IStateMachineDefinition.getInitialState
Defined in
src/core/StateMachineDefinition.ts:172
getAllStates
▸ getAllStates(): readonly TState[]
Returns
readonly TState[]
Implementation of
IStateMachineDefinition.getAllStates
Defined in
src/core/StateMachineDefinition.ts:176
getConfiguration
▸ getConfiguration(): StateMachineConfig<TContext, TState, TEvent>
Returns
StateMachineConfig<TContext, TState, TEvent>
Implementation of
IStateMachineDefinition.getConfiguration
Defined in
src/core/StateMachineDefinition.ts:180
addMiddleware
▸ addMiddleware(middleware): void
Parameters
| Name | Type |
|---|---|
middleware | MiddlewareConfig<TContext, TState> |
Returns
void
Implementation of
IStateMachineDefinition.addMiddleware
Defined in
src/core/StateMachineDefinition.ts:184
removeMiddleware
▸ removeMiddleware(name): void
Parameters
| Name | Type |
|---|---|
name | string |
Returns
void
Implementation of
IStateMachineDefinition.removeMiddleware
Defined in
src/core/StateMachineDefinition.ts:188
hasMiddleware
▸ hasMiddleware(name): boolean
Parameters
| Name | Type |
|---|---|
name | string |
Returns
boolean
Implementation of
IStateMachineDefinition.hasMiddleware
Defined in
src/core/StateMachineDefinition.ts:192
getMiddleware
▸ getMiddleware(name): undefined | MiddlewareConfig<TContext, TState>
Parameters
| Name | Type |
|---|---|
name | string |
Returns
undefined | MiddlewareConfig<TContext, TState>
Implementation of
IStateMachineDefinition.getMiddleware
Defined in
src/core/StateMachineDefinition.ts:196
getPipelineOrder
▸ getPipelineOrder(): string[]
Returns
string[]
Implementation of
IStateMachineDefinition.getPipelineOrder
Defined in
src/core/StateMachineDefinition.ts:202
clearPipeline
▸ clearPipeline(): void
Returns
void
Implementation of
IStateMachineDefinition.clearPipeline
Defined in
src/core/StateMachineDefinition.ts:206
getChainOrder
▸ getChainOrder(): string[]
Returns
string[]
Implementation of
IStateMachineDefinition.getChainOrder
Defined in
src/core/StateMachineDefinition.ts:211
clearChain
▸ clearChain(): void
Returns
void
Implementation of
IStateMachineDefinition.clearChain