class StateMachine
implements ActorLogic<TEvent, State<TContext, TEvent, TResolvedTypesMeta>, State<TContext, TEvent, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TResolvedTypesMeta>>>
import { StateMachine } from "https://deno.land/x/xstate@xstate@5.0.0-beta.19/src/StateMachine.ts";
Constructors
new
StateMachine(config: MachineConfig<TContext, TEvent, any, any, any>, implementations?: MachineImplementationsSimplified<TContext, TEvent>)Type Parameters
TContext extends MachineContext
optional
TEvent extends EventObject = EventObjectoptional
TAction extends ParameterizedObject = ParameterizedObjectoptional
TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TAction, TActorMap>Properties
deprecated
__TAction: TActiondeprecated
__TActorMap: TActorMapdeprecated
__TContext: TContextdeprecated
__TEvent: TEventdeprecated
__TResolvedTypesMeta: TResolvedTypesMetareadonly
definition: StateMachineDefinition<TContext, TEvent>events: Array<TEvent["type"]>
implementations: MachineImplementationsSimplified<TContext, TEvent>
types: MachineTypes<TContext, TEvent>
Methods
private
getPreInitialState(actorCtx: AnyActorContext, initEvent: any): State<TContext, TEvent, TResolvedTypesMeta>The initial state before evaluating any microsteps. This "pre-initial" state is provided to initial actions executed in the initial state.
createState(stateConfig: State<TContext, TEvent, TResolvedTypesMeta> | StateConfig<TContext, TEvent>): State<TContext, TEvent, TResolvedTypesMeta>
getInitialState(actorCtx: ActorContext<TEvent, State<TContext, TEvent, TResolvedTypesMeta>>, input?: any): State<TContext, TEvent, TResolvedTypesMeta>
Returns the initial State
instance, with reference to self
as an ActorRef
.
getStateNodeById(stateId: string): StateNode<TContext, TEvent>
getStatus(state: State<TContext, TEvent, TResolvedTypesMeta>)
getTransitionData(state: State<TContext, TEvent, TResolvedTypesMeta>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>>
microstep(): Array<State<TContext, TEvent, TResolvedTypesMeta>>
Determines the next state given the current state
and event
.
Calculates a microstep.
provide(implementations: InternalMachineImplementations<TContext, TEvent, TResolvedTypesMeta, true>): StateMachine<TContext, TEvent, TAction, TActorMap, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>
Clones this state machine with the provided implementations
and merges the context
(if provided).
resolveState(state: State<TContext, TEvent, TResolvedTypesMeta>): state
Resolves the given state
to a new State
instance relative to this machine.
This ensures that .nextEvents
represent the correct values.
resolveStateValue(stateValue: StateValue, ...unnamed 1: Equals<TContext, MachineContext> extends true ? [] : [TContext]): State<TContext, TEvent, TResolvedTypesMeta>
restoreState(state: PersistedMachineState<State<TContext, TEvent, TResolvedTypesMeta>>, _actorCtx: ActorContext<TEvent, State<TContext, TEvent, TResolvedTypesMeta>>): State<TContext, TEvent, TResolvedTypesMeta>
start(state: State<TContext, TEvent, TResolvedTypesMeta>, actorCtx: ActorContext<TEvent, State<TContext, TEvent, TResolvedTypesMeta>>): void
toJSON()
transition(): State<TContext, TEvent, TResolvedTypesMeta>
state: State<TContext, TEvent, TResolvedTypesMeta>,
event: TEvent,
actorCtx: ActorContext<TEvent, State<TContext, TEvent, any>>,
Determines the next state given the current state
and received event
.
Calculates a full macrostep from all microsteps.