Skip to main content

@jewel998/state-machine - v0.0.5 / StateMachineDefinition

Class: StateMachineDefinition<TContext, TState, TEvent>

Type parameters​

NameType
TContextextends ContextConstraint
TStateextends StateIdentifier
TEventextends EventIdentifier

Implements​

Table of contents​

Constructors​

Methods​

Constructors​

constructor​

• new StateMachineDefinition<TContext, TState, TEvent>(config, middlewareManager?): StateMachineDefinition<TContext, TState, TEvent>

Type parameters​

NameType
TContextextends ContextConstraint
TStateextends StateIdentifier
TEventextends EventIdentifier

Parameters​

NameType
configStateMachineConfig<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​

NameType
currentStateTState
eventTEvent
contextTContext

Returns​

boolean

Implementation of​

IStateMachineDefinition.canTransition

Defined in​

src/core/StateMachineDefinition.ts:61


canTransitionAsync​

▸ canTransitionAsync(currentState, event, context): Promise<boolean>

Parameters​

NameType
currentStateTState
eventTEvent
contextTContext

Returns​

Promise<boolean>

Implementation of​

IStateMachineDefinition.canTransitionAsync

Defined in​

src/core/StateMachineDefinition.ts:87


processEvent​

▸ processEvent(currentState, event, context): TransitionResult<TState, TContext>

Parameters​

NameType
currentStateTState
eventTEvent
contextTContext

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​

NameType
currentStateTState
eventTEvent
contextTContext

Returns​

Promise<AsyncTransitionResult<TState, TContext>>

Implementation of​

IStateMachineDefinition.processEventAsync

Defined in​

src/core/StateMachineDefinition.ts:121


getAvailableEvents​

▸ getAvailableEvents(currentState, context?): readonly TEvent[]

Parameters​

NameType
currentStateTState
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​

NameType
middlewareMiddlewareConfig<TContext, TState>

Returns​

void

Implementation of​

IStateMachineDefinition.addMiddleware

Defined in​

src/core/StateMachineDefinition.ts:184


removeMiddleware​

▸ removeMiddleware(name): void

Parameters​

NameType
namestring

Returns​

void

Implementation of​

IStateMachineDefinition.removeMiddleware

Defined in​

src/core/StateMachineDefinition.ts:188


hasMiddleware​

▸ hasMiddleware(name): boolean

Parameters​

NameType
namestring

Returns​

boolean

Implementation of​

IStateMachineDefinition.hasMiddleware

Defined in​

src/core/StateMachineDefinition.ts:192


getMiddleware​

▸ getMiddleware(name): undefined | MiddlewareConfig<TContext, TState>

Parameters​

NameType
namestring

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

Defined in​

src/core/StateMachineDefinition.ts:215