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