Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface MachineConfig<TContext, TStateSchema, TEvent>

Type parameters

Hierarchy

Index

Properties

Optional activities

activities: SingleOrArray<Activity<TContext, TEvent>>

The activities to be started upon entering the state node, and stopped upon exiting the state node.

Optional after

after: DelayedTransitions<TContext, TEvent>

The mapping (or array) of delays (in milliseconds) to their potential transition(s). The delayed transitions are taken after the specified delay in an interpreter.

Optional always

always: TransitionConfigOrTarget<TContext, TEvent>

An eventless transition that is always taken when this state node is active. Equivalent to a transition specified as an empty ''' string in the on property.

Optional context

context: TContext | (() => TContext)

The initial context (extended state)

Optional data

data: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>

The data sent with the "done.state.id" event if this is a final state node.

The data will be evaluated with the current context and placed on the .data property of the event.

Optional delimiter

delimiter: undefined | string

The string delimiter for serializing the path to a string. The default is "."

Optional entry

entry: Actions<TContext, TEvent>

The action(s) to be executed upon entering the state node.

Optional exit

exit: Actions<TContext, TEvent>

The action(s) to be executed upon exiting the state node.

Optional history

history: "shallow" | "deep" | boolean | undefined

Indicates whether the state node is a history state node, and what type of history: shallow, deep, true (shallow), false (none), undefined (none)

Optional id

id: string | undefined

The unique ID of the state node, which can be referenced as a transition target via the #id syntax.

Optional initial

initial: keyof TStateSchema["states"] | undefined

The initial state node key.

Optional invoke

invoke: SingleOrArray<InvokeConfig<TContext, TEvent> | StateMachine<any, any, any>>

The services to invoke upon entering this state node. These services will be stopped upon exiting this state node.

Optional key

key: undefined | string

The relative key of the state node, which represents its location in the overall state value. This is automatically determined by the configuration shape via the key where it was defined.

Optional meta

meta: TStateSchema extends { meta: infer D } ? D : any

The meta data associated with this state node, which will be returned in State instances.

Optional on

on: TransitionsConfig<TContext, TEvent>

The mapping of event types to their potential transition(s).

Optional onDone

onDone: string | SingleOrArray<TransitionConfig<TContext, DoneEventObject>>

The potential transition(s) to be taken upon reaching a final child state node.

This is equivalent to defining a [done(id)] transition on this state node's on property.

Optional onEntry

onEntry: Actions<TContext, TEvent>

The action(s) to be executed upon entering the state node.

deprecated

Use entry instead.

Optional onExit

onExit: Actions<TContext, TEvent>

The action(s) to be executed upon exiting the state node.

deprecated

Use exit instead.

Optional order

order: undefined | number

The order this state node appears. Corresponds to the implicit SCXML document order.

Optional parallel

parallel: boolean | undefined
deprecated

Optional schema

schema: MachineSchema<TContext, TEvent>

Optional states

states: StatesConfig<TContext, TStateSchema, TEvent> | undefined

The mapping of state node keys to their state node configurations (recursive).

Optional strict

strict: boolean | undefined

Optional type

type: "atomic" | "compound" | "parallel" | "final" | "history"

The type of this state node:

  • 'atomic' - no child state nodes
  • 'compound' - nested child state nodes (XOR)
  • 'parallel' - orthogonal nested child state nodes (AND)
  • 'history' - history state node
  • 'final' - final state node

Optional version

version: undefined | string

The machine's own version.

Generated using TypeDoc