Skip to main content

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

Interface: IStateMachineDefinition<TContext, TState, TEvent>

Type parameters

NameType
TContextextends ContextConstraint
TStateextends StateIdentifier
TEventextends EventIdentifier

Implemented by

Table of contents

Methods

Methods

canTransition

canTransition(currentState, event, context): boolean

Parameters

NameType
currentStateTState
eventTEvent
contextTContext

Returns

boolean

Defined in

src/interfaces/StateMachineDefinition.ts:44


canTransitionAsync

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

Parameters

NameType
currentStateTState
eventTEvent
contextTContext

Returns

Promise<boolean>

Defined in

src/interfaces/StateMachineDefinition.ts:50


processEvent

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

Parameters

NameType
currentStateTState
eventTEvent
contextTContext

Returns

TransitionResult<TState, TContext>

Defined in

src/interfaces/StateMachineDefinition.ts:56


processEventAsync

processEventAsync(currentState, event, context): Promise<AsyncTransitionResult<TState, TContext>>

Parameters

NameType
currentStateTState
eventTEvent
contextTContext

Returns

Promise<AsyncTransitionResult<TState, TContext>>

Defined in

src/interfaces/StateMachineDefinition.ts:62


getAvailableEvents

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

Parameters

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

NameType
middlewareMiddlewareConfig<TContext, TState> | IMiddleware<TContext, TState>

Returns

void

Defined in

src/interfaces/StateMachineDefinition.ts:81


removeMiddleware

removeMiddleware(name): void

Parameters

NameType
namestring

Returns

void

Defined in

src/interfaces/StateMachineDefinition.ts:86


hasMiddleware

hasMiddleware(name): boolean

Parameters

NameType
namestring

Returns

boolean

Defined in

src/interfaces/StateMachineDefinition.ts:87


getMiddleware

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

Parameters

NameType
namestring

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

Defined in

src/interfaces/StateMachineDefinition.ts:98