class StateMachine
implements ActorLogic<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, TODO, TInput, TOutput>
import { StateMachine } from "https://deno.land/x/xstate@xstate@5.0.0-beta.23/src/StateMachine.ts";
Constructors
new
StateMachine(config: MachineConfig<TContext, TEvent, any, any, any, TOutput, any>, implementations?: MachineImplementationsSimplified<TContext, TEvent>)Type Parameters
TContext extends MachineContext
TEvent extends EventObject
TAction extends ParameterizedObject
TActor extends ProvidedActor
optional
TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TAction, TActor>Properties
deprecated
__TAction: TActiondeprecated
__TActor: TActordeprecated
__TContext: TContextdeprecated
__TEvent: TEventdeprecated
__TInput: TInputdeprecated
__TOutput: TOutputdeprecated
__TResolvedTypesMeta: TResolvedTypesMetareadonly
definition: StateMachineDefinition<TContext, TEvent>events: Array<TEvent["type"]>
implementations: MachineImplementationsSimplified<TContext, TEvent>
Methods
private
getPreInitialState(actorCtx: AnyActorContext, initEvent: any): State<TContext, TEvent, TActor, TOutput, 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, TActor, TOutput, TResolvedTypesMeta> | StateConfig<TContext, TEvent>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>
getInitialState(actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, input?: TInput): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>
Returns the initial State
instance, with reference to self
as an ActorRef
.
getStateNodeById(stateId: string): StateNode<TContext, TEvent>
getTransitionData(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>>
microstep(): Array<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>
event: TEvent,
actorCtx: AnyActorContext,
Determines the next state given the current state
and event
.
Calculates a microstep.
provide(implementations: InternalMachineImplementations<TContext, TEvent, TAction, TActor, TResolvedTypesMeta, true>): StateMachine<TContext, TEvent, TAction, TActor, TInput, TOutput, 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, TActor, TOutput, 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, TActor, TOutput, TResolvedTypesMeta>
restoreState(state: PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, _actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>
toJSON()
transition(): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>
event: TEvent,
actorCtx: ActorContext<TEvent, state>,
Determines the next state given the current state
and received event
.
Calculates a full macrostep from all microsteps.