Skip to content

@yantrix/automata v0.5.2 • Docs


Yantrix API / @yantrix/automata / IStateDictionary

Interface: IStateDictionary<StateType, ContextType> ​

Interface for a dictionary of states.

Extends ​

Type Parameters ​

• StateType extends TAutomataBaseStateType

The type of state.

• ContextType extends { [K in StateType]: any } = Record<StateType, any>

The type of context.

Properties ​

addContextTransformer() ​

ts
addContextTransformer: <T>(state, transformer, namespace?) => string;

add a Context Transformer for a particular State, possibly scoped to namespace

Type Parameters ​

• T extends number

Parameters ​

• state: T

• transformer: TContextTransformer<T, ContextType>

to add

• namespace?: string

Returns ​

string

transformer ID


addStates() ​

ts
addStates: (params) => StateType[];

add new string States to the Dictionary, possibly within namespace

Parameters ​

• params: TStateKeysCollection<StateType>

Returns ​

StateType[]

new States' values


clearStates() ​

ts
clearStates: (namespace?) => this;

remove all States from the Dictionary, possibly scoping them to namespace.

Parameters ​

• namespace?: string

Returns ​

this


getContextTransformers() ​

ts
getContextTransformers: (namespace?) => Partial<{ [K in number]: Record<string, TContextTransformer<K, ContextType>> }>;

Get all Context Transformers grouped by a particular State, possibly scoped to namespace

Parameters ​

• namespace?: string

Returns ​

Partial<{ [K in number]: Record<string, TContextTransformer<K, ContextType>> }>


getDictionary() ​

ts
getDictionary: (namespace?) => TStateDictionaryMapping<StateType>;

Get all mapped State Types with their corresponding Keys, possibly filtered by Namespace

Parameters ​

• namespace?: string

Returns ​

TStateDictionaryMapping<StateType>


getStateKeys() ​

ts
getStateKeys: (states) => (null | string)[];

Get Keys for selected States, possibly scoped to namespace

Parameters ​

• states: TStateValuesCollection<StateType>

Returns ​

(null | string)[]


getStateValues() ​

ts
getStateValues: (states) => (null | StateType)[];

Get all States for selected Keys, possibly scoped to namespace

Parameters ​

• states: TStateKeysCollection<StateType>

Returns ​

(null | StateType)[]


removeContextTransformer() ​

ts
removeContextTransformer: <T>(state, transformer, namespace?) => this;

remove a Context Transformer for a particular State, possibly scoped to namespace

Type Parameters ​

• T extends number

Parameters ​

• state: T

• transformer: TContextTransformer<T, ContextType>

to remove

• namespace?: string

Returns ​

this


removeContextTransformerById() ​

ts
removeContextTransformerById: (id) => this;

remove a Context Transformer by ID

Parameters ​

• id: string

Returns ​

this


removeStates() ​

ts
removeStates: (params, removeContextTransformers?) => this;

remove States from the Dictionary, possibly scoping them to namespace.

Parameters ​

• params: Partial<TStateKeysCollection<StateType> & TStateValuesCollection<StateType>>

• removeContextTransformers?: boolean

if true, also remove Context Transformers for removed States

Returns ​

this


runContextTransformers() ​

ts
runContextTransformers: <T>(id, context) => TAutomataStateContext<StateType, ContextType>;

Run all Context Transformers for a particular State, possibly scoped to namespace

Type Parameters ​

• T extends number

Parameters ​

• id: string

• context: TAutomataStateContext<T, ContextType>

Returns ​

TAutomataStateContext<StateType, ContextType>


setStateValidator() ​

ts
setStateValidator: (stateValidator?) => this;

Sets the state validator function.

Parameters ​

• stateValidator?: TValidator<StateType>

The validator function for the state.

Returns ​

this

The current instance.

Inherited from ​

IAutomataExtendedStateContainer.setStateValidator


validateState ​

ts
validateState: TValidator<StateType>;

Validator function for the state.

Inherited from ​

IAutomataExtendedStateContainer.validateState