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