@jewel998/state-machine - v0.0.5 / IStateMachineDefinition
Interface: IStateMachineDefinition<TContext, TState, TEvent>
Type parameters
| Name | Type |
|---|---|
TContext | extends ContextConstraint |
TState | extends StateIdentifier |
TEvent | extends EventIdentifier |
Implemented by
Table of contents
Methods
- canTransition
- canTransitionAsync
- processEvent
- processEventAsync
- getAvailableEvents
- getInitialState
- getAllStates
- getConfiguration
- addMiddleware
- removeMiddleware
- hasMiddleware
- getMiddleware
- getPipelineOrder
- clearPipeline
- getChainOrder
- clearChain
Methods
canTransition
▸ canTransition(currentState, event, context): boolean
Parameters
| Name | Type |
|---|---|
currentState | TState |
event | TEvent |
context | TContext |
Returns
boolean
Defined in
src/interfaces/StateMachineDefinition.ts:44
canTransitionAsync
▸ canTransitionAsync(currentState, event, context): Promise<boolean>
Parameters
| Name | Type |
|---|---|
currentState | TState |
event | TEvent |
context | TContext |
Returns
Promise<boolean>
Defined in
src/interfaces/StateMachineDefinition.ts:50
processEvent
▸ processEvent(currentState, event, context): TransitionResult<TState, TContext>
Parameters
| Name | Type |
|---|---|
currentState | TState |
event | TEvent |
context | TContext |
Returns
TransitionResult<TState, TContext>
Defined in
src/interfaces/StateMachineDefinition.ts:56
processEventAsync
▸ processEventAsync(currentState, event, context): Promise<AsyncTransitionResult<TState, TContext>>
Parameters
| Name | Type |
|---|---|
currentState | TState |
event | TEvent |
context | TContext |
Returns
Promise<AsyncTransitionResult<TState, TContext>>
Defined in
src/interfaces/StateMachineDefinition.ts:62
getAvailableEvents
▸ getAvailableEvents(currentState, context?): readonly TEvent[]
Parameters
| Name | Type |
|---|---|
currentState | TState |
context? | TContext |
Returns
readonly TEvent[]
Defined in
src/interfaces/StateMachineDefinition.ts:69
getInitialState
▸ getInitialState(): TState
Returns
TState
Defined in
src/interfaces/StateMachineDefinition.ts:74
getAllStates
▸ getAllStates(): readonly TState[]
Returns
readonly TState[]
Defined in
src/interfaces/StateMachineDefinition.ts:75
getConfiguration
▸ getConfiguration(): StateMachineConfig<TContext, TState, TEvent>
Returns
StateMachineConfig<TContext, TState, TEvent>
Defined in
src/interfaces/StateMachineDefinition.ts:78
addMiddleware
▸ addMiddleware(middleware): void
Parameters
| Name | Type |
|---|---|
middleware | MiddlewareConfig<TContext, TState> | IMiddleware<TContext, TState> |
Returns
void
Defined in
src/interfaces/StateMachineDefinition.ts:81
removeMiddleware
▸ removeMiddleware(name): void
Parameters
| Name | Type |
|---|---|
name | string |
Returns
void
Defined in
src/interfaces/StateMachineDefinition.ts:86
hasMiddleware
▸ hasMiddleware(name): boolean
Parameters
| Name | Type |
|---|---|
name | string |
Returns
boolean
Defined in
src/interfaces/StateMachineDefinition.ts:87
getMiddleware
▸ getMiddleware(name): undefined | MiddlewareConfig<TContext, TState> | IMiddleware<TContext, TState>
Parameters
| Name | Type |
|---|---|
name | string |
Returns
undefined | MiddlewareConfig<TContext, TState> | IMiddleware<TContext, TState>
Defined in
src/interfaces/StateMachineDefinition.ts:88
getPipelineOrder
▸ getPipelineOrder(): string[]
Returns
string[]
Defined in
src/interfaces/StateMachineDefinition.ts:94
clearPipeline
▸ clearPipeline(): void
Returns
void
Defined in
src/interfaces/StateMachineDefinition.ts:95
getChainOrder
▸ getChainOrder(): string[]
Returns
string[]
Defined in
src/interfaces/StateMachineDefinition.ts:97
clearChain
▸ clearChain(): void
Returns
void