@yantrix/automata v0.2.0 • Docs
Yantrix API / @yantrix/automata / IStateDictionary
Interface: IStateDictionary<StateType, ContextType>
Interface for a dictionary of states.
Extends
IAutomataExtendedStateContainer<StateType,ContextType>
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.