xstate 5.0.0-beta.14 → 5.0.0-beta.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/dist/xstate-actions.cjs.js +1 -3
- package/actions/dist/xstate-actions.cjs.mjs +0 -2
- package/actions/dist/xstate-actions.development.cjs.js +1 -3
- package/actions/dist/xstate-actions.development.esm.js +1 -1
- package/actions/dist/xstate-actions.esm.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js.map +1 -1
- package/actors/dist/xstate-actors.cjs.js +1 -1
- package/actors/dist/xstate-actors.development.cjs.js +1 -1
- package/actors/dist/xstate-actors.development.esm.js +1 -1
- package/actors/dist/xstate-actors.esm.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/{actions-444a17c3.esm.js → actions-0386b622.esm.js} +934 -997
- package/dist/{actions-73b8d456.development.cjs.js → actions-0f903c0d.development.cjs.js} +863 -928
- package/dist/{actions-17c3bcfa.cjs.js → actions-6b9073db.cjs.js} +934 -999
- package/dist/{actions-60622c0c.development.esm.js → actions-6f7fbc84.development.esm.js} +863 -926
- package/dist/declarations/src/State.d.ts +1 -11
- package/dist/declarations/src/StateMachine.d.ts +4 -11
- package/dist/declarations/src/actionTypes.d.ts +1 -1
- package/dist/declarations/src/actions/assign.d.ts +2 -2
- package/dist/declarations/src/actions/cancel.d.ts +2 -2
- package/dist/declarations/src/actions/send.d.ts +12 -22
- package/dist/declarations/src/actions/stop.d.ts +2 -2
- package/dist/declarations/src/actions.d.ts +1 -4
- package/dist/declarations/src/actors/callback.d.ts +3 -3
- package/dist/declarations/src/actors/index.d.ts +1 -1
- package/dist/declarations/src/actors/promise.d.ts +13 -3
- package/dist/declarations/src/guards.d.ts +1 -1
- package/dist/declarations/src/interpreter.d.ts +2 -2
- package/dist/declarations/src/stateUtils.d.ts +3 -2
- package/dist/declarations/src/types.d.ts +44 -71
- package/dist/declarations/src/utils.d.ts +3 -3
- package/dist/xstate.cjs.js +44 -59
- package/dist/xstate.development.cjs.js +44 -59
- package/dist/xstate.development.esm.js +45 -60
- package/dist/xstate.esm.js +45 -60
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/guards/dist/xstate-guards.cjs.js +1 -1
- package/guards/dist/xstate-guards.development.cjs.js +1 -1
- package/guards/dist/xstate-guards.development.esm.js +1 -1
- package/guards/dist/xstate-guards.esm.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js.map +1 -1
- package/package.json +2 -1
|
@@ -2,8 +2,8 @@ import type { StateNode } from "./StateNode.js";
|
|
|
2
2
|
import type { State } from "./State.js";
|
|
3
3
|
import type { ActorStatus, Clock, Interpreter } from "./interpreter.js";
|
|
4
4
|
import type { StateMachine } from "./StateMachine.js";
|
|
5
|
-
import type { LifecycleSignal } from "./actors/index.js";
|
|
6
5
|
import { TypegenDisabled, ResolveTypegenMeta, TypegenConstraint, MarkAllImplementationsAsProvided, AreAllImplementationsAssumedToBeProvided } from "./typegenTypes.js";
|
|
6
|
+
import { PromiseEvent } from "./actors/promise.js";
|
|
7
7
|
export type AnyFunction = (...args: any[]) => any;
|
|
8
8
|
type ReturnTypeOrValue<T> = T extends AnyFunction ? ReturnType<T> : T;
|
|
9
9
|
export type IsNever<T> = [T] extends [never] ? true : false;
|
|
@@ -54,6 +54,8 @@ export interface BuiltInActionObject extends ParameterizedObject {
|
|
|
54
54
|
export interface UnifiedArg<TContext extends MachineContext, TEvent extends EventObject> {
|
|
55
55
|
context: TContext;
|
|
56
56
|
event: TEvent;
|
|
57
|
+
self: ActorRef<TEvent>;
|
|
58
|
+
system: ActorSystem<any>;
|
|
57
59
|
}
|
|
58
60
|
export interface BaseDynamicActionObject<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TResolvedAction extends BaseActionObject, TDynamicParams extends Record<string, any>> {
|
|
59
61
|
type: `xstate.${string}`;
|
|
@@ -64,16 +66,13 @@ export interface BaseDynamicActionObject<TContext extends MachineContext, TExpre
|
|
|
64
66
|
* The original action object
|
|
65
67
|
*/
|
|
66
68
|
action: ParameterizedObject;
|
|
67
|
-
actorContext: AnyActorContext
|
|
69
|
+
actorContext: AnyActorContext;
|
|
68
70
|
}) => [AnyState, TResolvedAction];
|
|
69
71
|
/** @deprecated an internal signature that doesn't exist at runtime. Its existence helps TS to choose a better code path in the inference algorithm */
|
|
70
|
-
(args:
|
|
71
|
-
context: TContext;
|
|
72
|
-
event: TExpressionEvent;
|
|
73
|
-
} & ActionMeta<TEvent, ParameterizedObject>): void;
|
|
72
|
+
(args: ActionArgs<TContext, TExpressionEvent, ParameterizedObject>): void;
|
|
74
73
|
}
|
|
75
74
|
export type MachineContext = Record<string, any>;
|
|
76
|
-
export interface
|
|
75
|
+
export interface ActionArgs<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject> extends UnifiedArg<TContext, TEvent> {
|
|
77
76
|
action: TAction;
|
|
78
77
|
}
|
|
79
78
|
export type Spawner = <T extends ActorLogic<any, any> | string>(// TODO: read string from machine logic keys
|
|
@@ -82,26 +81,23 @@ logic: T, options?: Partial<{
|
|
|
82
81
|
systemId?: string;
|
|
83
82
|
input: any;
|
|
84
83
|
}>) => T extends ActorLogic<infer TActorEvent, infer TActorEmitted, infer _, infer __, infer ___> ? ActorRef<TActorEvent, TActorEmitted> : ActorRef<any, any>;
|
|
85
|
-
export interface
|
|
84
|
+
export interface AssignArgs<TContext extends MachineContext, TExpressionEvent extends EventObject> extends ActionArgs<TContext, TExpressionEvent> {
|
|
86
85
|
action: BaseActionObject;
|
|
87
86
|
event: TExpressionEvent;
|
|
88
87
|
spawn: Spawner;
|
|
89
88
|
}
|
|
90
|
-
export type ActionFunction<TContext extends MachineContext, TExpressionEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject
|
|
91
|
-
context: TContext;
|
|
92
|
-
event: TExpressionEvent;
|
|
93
|
-
} & ActionMeta<TEvent, TAction>) => void;
|
|
89
|
+
export type ActionFunction<TContext extends MachineContext, TExpressionEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject> = (args: ActionArgs<TContext, TExpressionEvent, TAction>) => void;
|
|
94
90
|
export interface ChooseCondition<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> {
|
|
95
91
|
guard?: GuardConfig<TContext, TExpressionEvent>;
|
|
96
92
|
actions: Actions<TContext, TExpressionEvent, TEvent>;
|
|
97
93
|
}
|
|
98
|
-
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = ActionType | ParameterizedObject | ActionFunction<TContext, TExpressionEvent, ParameterizedObject
|
|
94
|
+
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = ActionType | ParameterizedObject | ActionFunction<TContext, TExpressionEvent, ParameterizedObject> | BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, any, any>;
|
|
99
95
|
/**
|
|
100
96
|
* Extracts action objects that have no extra properties.
|
|
101
97
|
*/
|
|
102
98
|
type SimpleActionsFrom<T extends ParameterizedObject> = ParameterizedObject extends T ? T : ExtractWithSimpleSupport<T>;
|
|
103
99
|
export type BaseAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TAction extends ParameterizedObject, TEvent extends EventObject> = BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, any, // TODO: at the very least this should include TAction, but probably at a covariant position or something, we really need to rethink how action objects are typed
|
|
104
|
-
any> | TAction | SimpleActionsFrom<TAction>['type'] | ActionFunction<TContext, TExpressionEvent, TAction
|
|
100
|
+
any> | TAction | SimpleActionsFrom<TAction>['type'] | ActionFunction<TContext, TExpressionEvent, TAction>;
|
|
105
101
|
export type BaseActions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject> = SingleOrArray<BaseAction<TContext, TExpressionEvent, TAction, TEvent>>;
|
|
106
102
|
export type Actions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = SingleOrArray<Action<TContext, TEvent>>;
|
|
107
103
|
export type StateKey = string | AnyState;
|
|
@@ -118,7 +114,7 @@ export type StateValue = string | StateValueMap;
|
|
|
118
114
|
export type GuardPredicate<TContext extends MachineContext, TEvent extends EventObject> = (args: {
|
|
119
115
|
context: TContext;
|
|
120
116
|
event: TEvent;
|
|
121
|
-
} &
|
|
117
|
+
} & GuardArgs<TContext, TEvent>) => boolean;
|
|
122
118
|
export interface DefaultGuardObject<TContext extends MachineContext, TEvent extends EventObject> extends ParameterizedObject {
|
|
123
119
|
/**
|
|
124
120
|
* Nested guards
|
|
@@ -127,7 +123,7 @@ export interface DefaultGuardObject<TContext extends MachineContext, TEvent exte
|
|
|
127
123
|
predicate?: GuardPredicate<TContext, TEvent>;
|
|
128
124
|
}
|
|
129
125
|
export type GuardEvaluator<TContext extends MachineContext, TEvent extends EventObject> = (guard: GuardDefinition<TContext, TEvent>, context: TContext, event: TEvent, state: State<TContext, TEvent>) => boolean;
|
|
130
|
-
export interface
|
|
126
|
+
export interface GuardArgs<TContext extends MachineContext, TEvent extends EventObject> {
|
|
131
127
|
state: State<TContext, TEvent, any>;
|
|
132
128
|
guard: GuardDefinition<TContext, TEvent>;
|
|
133
129
|
evaluate: GuardEvaluator<TContext, TEvent>;
|
|
@@ -218,7 +214,7 @@ export interface Delay {
|
|
|
218
214
|
delay: number;
|
|
219
215
|
}
|
|
220
216
|
export type DelayedTransitions<TContext extends MachineContext, TEvent extends EventObject> = Record<string | number, string | SingleOrArray<TransitionConfig<TContext, TEvent>>> | Array<TransitionConfig<TContext, TEvent> & {
|
|
221
|
-
delay: number | string |
|
|
217
|
+
delay: number | string | ((args: UnifiedArg<TContext, TEvent>) => number);
|
|
222
218
|
}>;
|
|
223
219
|
export type StateTypes = 'atomic' | 'compound' | 'parallel' | 'final' | 'history' | string;
|
|
224
220
|
export type SingleOrArray<T> = T[] | T;
|
|
@@ -344,10 +340,6 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
|
|
|
344
340
|
* `#id` syntax.
|
|
345
341
|
*/
|
|
346
342
|
id?: string | undefined;
|
|
347
|
-
/**
|
|
348
|
-
* The string delimiter for serializing the path to a string. The default is "."
|
|
349
|
-
*/
|
|
350
|
-
delimiter?: string;
|
|
351
343
|
/**
|
|
352
344
|
* The order this state node appears. Corresponds to the implicit document order.
|
|
353
345
|
*/
|
|
@@ -385,7 +377,6 @@ export interface StateNodeDefinition<TContext extends MachineContext, TEvent ext
|
|
|
385
377
|
tags: string[];
|
|
386
378
|
}
|
|
387
379
|
export interface StateMachineDefinition<TContext extends MachineContext, TEvent extends EventObject> extends StateNodeDefinition<TContext, TEvent> {
|
|
388
|
-
context: TContext;
|
|
389
380
|
}
|
|
390
381
|
export type AnyStateNode = StateNode<any, any>;
|
|
391
382
|
export type AnyStateNodeDefinition = StateNodeDefinition<any, any>;
|
|
@@ -429,14 +420,13 @@ export interface MachineImplementationsSimplified<TContext extends MachineContex
|
|
|
429
420
|
}
|
|
430
421
|
type MachineImplementationsActions<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActions'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
431
422
|
[K in keyof TEventsCausingActions]?: BaseDynamicActionObject<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>, any, // TODO: this should receive something like `Cast<Prop<TIndexedActions, K>, ParameterizedObject>`, but at the moment builtin actions expect Resolved*Action here and this should be simplified somehow
|
|
432
|
-
any> | ActionFunction<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, ParameterizedObject
|
|
433
|
-
Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>>;
|
|
423
|
+
any> | ActionFunction<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, ParameterizedObject>;
|
|
434
424
|
};
|
|
435
425
|
type MachineImplementationsDelays<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingDelays'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
436
426
|
[K in keyof TEventsCausingDelays]?: DelayConfig<TContext, Cast<Prop<TIndexedEvents, TEventsCausingDelays[K]>, EventObject>>;
|
|
437
427
|
};
|
|
438
428
|
type MachineImplementationsGuards<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingGuards = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingGuards'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
439
|
-
[K in keyof TEventsCausingGuards]?: GuardPredicate<TContext, Cast<Prop<TIndexedEvents, TEventsCausingGuards[K]>, EventObject>>;
|
|
429
|
+
[K in keyof TEventsCausingGuards]?: GuardPredicate<TContext, Cast<Prop<TIndexedEvents, TEventsCausingGuards[K]>, EventObject>> | GuardConfig<TContext, Cast<Prop<TIndexedEvents, TEventsCausingGuards[K]>, EventObject>>;
|
|
440
430
|
};
|
|
441
431
|
type MachineImplementationsActors<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingActors = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActors'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, _TInvokeSrcNameMap = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'invokeSrcNameMap'>> = {
|
|
442
432
|
[K in keyof TEventsCausingActors]?: AnyActorLogic | {
|
|
@@ -450,19 +440,19 @@ type MakeKeysRequired<T extends string> = {
|
|
|
450
440
|
type MaybeMakeMissingImplementationsRequired<TImplementationType, TMissingImplementationsForType, TRequireMissingImplementations> = TRequireMissingImplementations extends true ? IsNever<TMissingImplementationsForType> extends true ? {} : {
|
|
451
441
|
[K in Cast<TImplementationType, string>]: MakeKeysRequired<Cast<TMissingImplementationsForType, string>>;
|
|
452
442
|
} : {};
|
|
453
|
-
type GenerateActionsImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = MaybeMakeMissingImplementationsRequired<'actions', Prop<TMissingImplementations, 'actions'>, TRequireMissingImplementations> & {
|
|
443
|
+
type GenerateActionsImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = Compute<MaybeMakeMissingImplementationsRequired<'actions', Prop<TMissingImplementations, 'actions'>, TRequireMissingImplementations> & {
|
|
454
444
|
actions?: MachineImplementationsActions<TContext, TResolvedTypesMeta>;
|
|
455
|
-
}
|
|
456
|
-
type
|
|
445
|
+
}>;
|
|
446
|
+
type GenerateActorsImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = Compute<MaybeMakeMissingImplementationsRequired<'actors', Prop<TMissingImplementations, 'actors'>, TRequireMissingImplementations> & {
|
|
447
|
+
actors?: MachineImplementationsActors<TContext, TResolvedTypesMeta>;
|
|
448
|
+
}>;
|
|
449
|
+
type GenerateDelaysImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = Compute<MaybeMakeMissingImplementationsRequired<'delays', Prop<TMissingImplementations, 'delays'>, TRequireMissingImplementations> & {
|
|
457
450
|
delays?: MachineImplementationsDelays<TContext, TResolvedTypesMeta>;
|
|
458
|
-
}
|
|
459
|
-
type GenerateGuardsImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = MaybeMakeMissingImplementationsRequired<'guards', Prop<TMissingImplementations, 'guards'>, TRequireMissingImplementations> & {
|
|
451
|
+
}>;
|
|
452
|
+
type GenerateGuardsImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = Compute<MaybeMakeMissingImplementationsRequired<'guards', Prop<TMissingImplementations, 'guards'>, TRequireMissingImplementations> & {
|
|
460
453
|
guards?: MachineImplementationsGuards<TContext, TResolvedTypesMeta>;
|
|
461
|
-
}
|
|
462
|
-
type
|
|
463
|
-
actors?: MachineImplementationsActors<TContext, TResolvedTypesMeta>;
|
|
464
|
-
};
|
|
465
|
-
export type InternalMachineImplementations<TContext extends MachineContext, _TEvent extends EventObject, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = GenerateActionsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateActorsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations>;
|
|
454
|
+
}>;
|
|
455
|
+
export type InternalMachineImplementations<TContext extends MachineContext, _TEvent extends EventObject, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = GenerateActionsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateActorsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations>;
|
|
466
456
|
export type MachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject, TActorMap extends ActorMap = ActorMap, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineImplementations<TContext, TEvent, ResolveTypegenMeta<TTypesMeta, TEvent, TAction, TActorMap>>;
|
|
467
457
|
type InitialContext<TContext extends MachineContext> = TContext | ContextFactory<TContext>;
|
|
468
458
|
export type ContextFactory<TContext extends MachineContext> = ({ spawn, input }: {
|
|
@@ -508,7 +498,7 @@ export type Transitions<TContext extends MachineContext, TEvent extends EventObj
|
|
|
508
498
|
export declare enum ActionTypes {
|
|
509
499
|
Stop = "xstate.stop",
|
|
510
500
|
Raise = "xstate.raise",
|
|
511
|
-
|
|
501
|
+
SendTo = "xstate.sendTo",
|
|
512
502
|
Cancel = "xstate.cancel",
|
|
513
503
|
Assign = "xstate.assign",
|
|
514
504
|
After = "xstate.after",
|
|
@@ -581,7 +571,7 @@ export interface InvokeActionObject extends BaseActionObject {
|
|
|
581
571
|
export interface DynamicStopActionObject<TContext extends MachineContext, TExpressionEvent extends EventObject> {
|
|
582
572
|
type: ActionTypes.Stop;
|
|
583
573
|
params: {
|
|
584
|
-
actor: string | ActorRef<any> |
|
|
574
|
+
actor: string | ActorRef<any> | ((args: UnifiedArg<TContext, TExpressionEvent>) => ActorRef<any> | string);
|
|
585
575
|
};
|
|
586
576
|
}
|
|
587
577
|
export interface StopActionObject {
|
|
@@ -590,8 +580,8 @@ export interface StopActionObject {
|
|
|
590
580
|
actor: ActorRef<any>;
|
|
591
581
|
};
|
|
592
582
|
}
|
|
593
|
-
export type DelayExpr<TContext extends MachineContext, TEvent extends EventObject> =
|
|
594
|
-
export type LogExpr<TContext extends MachineContext, TEvent extends EventObject> =
|
|
583
|
+
export type DelayExpr<TContext extends MachineContext, TEvent extends EventObject> = (args: UnifiedArg<TContext, TEvent>) => number;
|
|
584
|
+
export type LogExpr<TContext extends MachineContext, TEvent extends EventObject> = (args: UnifiedArg<TContext, TEvent>) => unknown;
|
|
595
585
|
export interface DynamicLogAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> extends BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, LogActionObject, {
|
|
596
586
|
label: string | undefined;
|
|
597
587
|
expr: string | LogExpr<TContext, TExpressionEvent>;
|
|
@@ -605,25 +595,21 @@ export interface LogActionObject extends BuiltInActionObject {
|
|
|
605
595
|
value: any;
|
|
606
596
|
};
|
|
607
597
|
}
|
|
608
|
-
export interface
|
|
609
|
-
type: 'xstate.
|
|
598
|
+
export interface SendToActionObject<TSentEvent extends EventObject = AnyEventObject> extends BaseActionObject {
|
|
599
|
+
type: 'xstate.sendTo';
|
|
610
600
|
params: {
|
|
611
|
-
to: ActorRef<TSentEvent
|
|
601
|
+
to: ActorRef<TSentEvent>;
|
|
612
602
|
event: TSentEvent;
|
|
613
603
|
delay?: number;
|
|
614
604
|
id: string | number;
|
|
615
|
-
internal: boolean;
|
|
616
605
|
};
|
|
617
606
|
}
|
|
618
|
-
export type
|
|
619
|
-
export type ExprWithMeta<TContext extends MachineContext, TEvent extends EventObject, T> = (args: UnifiedArg<TContext, TEvent> & StateMeta<TEvent>) => T;
|
|
620
|
-
export type SendExpr<TContext extends MachineContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject> = ExprWithMeta<TContext, TEvent, TSentEvent>;
|
|
607
|
+
export type SendExpr<TContext extends MachineContext, TExpressionEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject> = (args: UnifiedArg<TContext, TExpressionEvent>) => TSentEvent;
|
|
621
608
|
export declare enum SpecialTargets {
|
|
622
609
|
Parent = "#_parent",
|
|
623
610
|
Internal = "#_internal"
|
|
624
611
|
}
|
|
625
|
-
export interface
|
|
626
|
-
to?: string | ActorRef<any, any> | ExprWithMeta<TContext, TEvent, string | ActorRef<any, any>>;
|
|
612
|
+
export interface SendToActionOptions<TContext extends MachineContext, TEvent extends EventObject> extends RaiseActionOptions<TContext, TEvent> {
|
|
627
613
|
}
|
|
628
614
|
export interface RaiseActionOptions<TContext extends MachineContext, TEvent extends EventObject> {
|
|
629
615
|
id?: string | number;
|
|
@@ -632,13 +618,13 @@ export interface RaiseActionOptions<TContext extends MachineContext, TEvent exte
|
|
|
632
618
|
export interface RaiseActionParams<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> extends RaiseActionOptions<TContext, TExpressionEvent> {
|
|
633
619
|
event: TEvent | SendExpr<TContext, TExpressionEvent, TEvent>;
|
|
634
620
|
}
|
|
635
|
-
export interface
|
|
621
|
+
export interface SendToActionParams<TContext extends MachineContext, TEvent extends EventObject, TSentEvent extends EventObject = EventObject> extends SendToActionOptions<TContext, TEvent> {
|
|
636
622
|
event: TSentEvent | SendExpr<TContext, TEvent, TSentEvent>;
|
|
637
623
|
}
|
|
638
624
|
export interface DynamicCancelActionObject<TContext extends MachineContext, TExpressionEvent extends EventObject> {
|
|
639
625
|
type: ActionTypes.Cancel;
|
|
640
626
|
params: {
|
|
641
|
-
sendId: string |
|
|
627
|
+
sendId: string | ((args: UnifiedArg<TContext, TExpressionEvent>) => string);
|
|
642
628
|
};
|
|
643
629
|
}
|
|
644
630
|
export interface CancelActionObject extends BaseActionObject {
|
|
@@ -647,16 +633,10 @@ export interface CancelActionObject extends BaseActionObject {
|
|
|
647
633
|
sendId: string;
|
|
648
634
|
};
|
|
649
635
|
}
|
|
650
|
-
export type Assigner<TContext extends MachineContext, TExpressionEvent extends EventObject
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
export type PartialAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TKey extends keyof TContext> = (args: {
|
|
655
|
-
context: TContext;
|
|
656
|
-
event: TExpressionEvent;
|
|
657
|
-
} & AssignMeta<TExpressionEvent, TEvent>) => TContext[TKey];
|
|
658
|
-
export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = {
|
|
659
|
-
[K in keyof TContext]?: PartialAssigner<TContext, TExpressionEvent, TEvent, K> | TContext[K];
|
|
636
|
+
export type Assigner<TContext extends MachineContext, TExpressionEvent extends EventObject> = (args: AssignArgs<TContext, TExpressionEvent>) => Partial<TContext>;
|
|
637
|
+
export type PartialAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TKey extends keyof TContext> = (args: AssignArgs<TContext, TExpressionEvent>) => TContext[TKey];
|
|
638
|
+
export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject> = {
|
|
639
|
+
[K in keyof TContext]?: PartialAssigner<TContext, TExpressionEvent, K> | TContext[K];
|
|
660
640
|
};
|
|
661
641
|
export type Mapper<TContext extends MachineContext, TEvent extends EventObject, TParams extends {}> = (args: {
|
|
662
642
|
context: TContext;
|
|
@@ -673,7 +653,7 @@ export interface AnyAssignAction extends BaseActionObject {
|
|
|
673
653
|
assignment: any;
|
|
674
654
|
}
|
|
675
655
|
export type DynamicAssignAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, AssignActionObject<TContext> | RaiseActionObject<TContext, TExpressionEvent>, {
|
|
676
|
-
assignment: Assigner<TContext, TExpressionEvent
|
|
656
|
+
assignment: Assigner<TContext, TExpressionEvent> | PropertyAssigner<TContext, TExpressionEvent>;
|
|
677
657
|
}>;
|
|
678
658
|
export interface AssignActionObject<TContext extends MachineContext> extends BaseActionObject {
|
|
679
659
|
type: ActionTypes.Assign;
|
|
@@ -763,10 +743,6 @@ export interface Segment<TContext extends MachineContext, TEvent extends EventOb
|
|
|
763
743
|
*/
|
|
764
744
|
event: TEvent;
|
|
765
745
|
}
|
|
766
|
-
export interface StateMeta<TEvent extends EventObject> {
|
|
767
|
-
self: ActorRef<TEvent>;
|
|
768
|
-
system: ActorSystem<any>;
|
|
769
|
-
}
|
|
770
746
|
export interface StateLike<TContext extends MachineContext> {
|
|
771
747
|
value: StateValue;
|
|
772
748
|
context: TContext;
|
|
@@ -778,7 +754,6 @@ export interface StateConfig<TContext extends MachineContext, TEvent extends Eve
|
|
|
778
754
|
historyValue?: HistoryValue<TContext, TEvent>;
|
|
779
755
|
meta?: any;
|
|
780
756
|
configuration?: Array<StateNode<TContext, TEvent>>;
|
|
781
|
-
transitions?: Array<TransitionDefinition<TContext, TEvent>>;
|
|
782
757
|
children: Record<string, ActorRef<any>>;
|
|
783
758
|
done?: boolean;
|
|
784
759
|
output?: any;
|
|
@@ -827,7 +802,7 @@ export interface InterpreterOptions<_TActorLogic extends AnyActorLogic> {
|
|
|
827
802
|
*/
|
|
828
803
|
src?: string;
|
|
829
804
|
}
|
|
830
|
-
export type AnyInterpreter = Interpreter<any>;
|
|
805
|
+
export type AnyInterpreter = Interpreter<any, any>;
|
|
831
806
|
export type Observer<T> = {
|
|
832
807
|
next?: (value: T) => void;
|
|
833
808
|
error?: (err: any) => void;
|
|
@@ -871,9 +846,7 @@ export interface ActorRef<TEvent extends EventObject, TSnapshot = any> extends S
|
|
|
871
846
|
src?: string;
|
|
872
847
|
}
|
|
873
848
|
export type AnyActorRef = ActorRef<any, any>;
|
|
874
|
-
export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, any, any, infer TResolvedTypesMeta> ? ActorRef<TEvent, State<TContext, TEvent, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>> : R extends Promise<infer U> ? ActorRef<
|
|
875
|
-
type: string;
|
|
876
|
-
}, U | undefined> : R extends ActorLogic<infer TEvent, infer TSnapshot> ? ActorRef<TEvent, TSnapshot> : never : never;
|
|
849
|
+
export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, any, any, infer TResolvedTypesMeta> ? ActorRef<TEvent, State<TContext, TEvent, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>> : R extends Promise<infer U> ? ActorRef<PromiseEvent<U>, U | undefined> : R extends ActorLogic<infer TEvent, infer TSnapshot, infer _, infer __, infer ___> ? ActorRef<TEvent, TSnapshot> : never : never;
|
|
877
850
|
export type DevToolsAdapter = (service: AnyInterpreter) => void;
|
|
878
851
|
export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, any, any, infer TResolvedTypesMeta> ? Interpreter<ActorLogic<TEvent, State<TContext, TEvent, TResolvedTypesMeta>, State<TContext, TEvent, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TResolvedTypesMeta>>>> : never;
|
|
879
852
|
export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, any, any, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TEvent, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
@@ -895,7 +868,7 @@ export interface ActorLogic<TEvent extends EventObject, TSnapshot = any, TIntern
|
|
|
895
868
|
*/
|
|
896
869
|
TPersisted = TInternalState, TSystem extends ActorSystem<any> = ActorSystem<any>> {
|
|
897
870
|
config?: unknown;
|
|
898
|
-
transition: (state: TInternalState, message: TEvent
|
|
871
|
+
transition: (state: TInternalState, message: TEvent, ctx: ActorContext<TEvent, TSnapshot, TSystem>) => TInternalState;
|
|
899
872
|
getInitialState: (actorCtx: ActorContext<TEvent, TSnapshot, any>, input: any) => TInternalState;
|
|
900
873
|
restoreState?: (persistedState: TPersisted, actorCtx: ActorContext<TEvent, TSnapshot>) => TInternalState;
|
|
901
874
|
getSnapshot?: (state: TInternalState) => TSnapshot;
|
|
@@ -3,10 +3,10 @@ import { NULL_EVENT } from "./constants.js";
|
|
|
3
3
|
import type { StateNode } from "./StateNode.js";
|
|
4
4
|
import type { ActorLogic, AnyEventObject, EventObject, EventType, InvokeConfig, MachineContext, Mapper, Observer, PropertyMapper, ErrorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfig, TransitionConfigTarget } from "./types.js";
|
|
5
5
|
export declare function keys<T extends object>(value: T): Array<keyof T & string>;
|
|
6
|
-
export declare function matchesState(parentStateId: StateValue, childStateId: StateValue
|
|
7
|
-
export declare function toStatePath(stateId: string | string[]
|
|
6
|
+
export declare function matchesState(parentStateId: StateValue, childStateId: StateValue): boolean;
|
|
7
|
+
export declare function toStatePath(stateId: string | string[]): string[];
|
|
8
8
|
export declare function isStateLike(state: any): state is AnyState;
|
|
9
|
-
export declare function toStateValue(stateValue: StateLike<any> | StateValue | string[]
|
|
9
|
+
export declare function toStateValue(stateValue: StateLike<any> | StateValue | string[]): StateValue;
|
|
10
10
|
export declare function pathToStateValue(statePath: string[]): StateValue;
|
|
11
11
|
export declare function mapValues<P, O extends Record<string, unknown>>(collection: O, iteratee: (item: O[keyof O], key: keyof O, collection: O, i: number) => P): {
|
|
12
12
|
[key in keyof O]: P;
|
package/dist/xstate.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var actors_dist_xstateActors = require('./actions-
|
|
5
|
+
var actors_dist_xstateActors = require('./actions-6b9073db.cjs.js');
|
|
6
6
|
require('../dev/dist/xstate-dev.cjs.js');
|
|
7
7
|
|
|
8
8
|
const EMPTY_OBJECT = {};
|
|
@@ -95,7 +95,7 @@ class StateNode {
|
|
|
95
95
|
this.key = options._key;
|
|
96
96
|
this.machine = options._machine;
|
|
97
97
|
this.path = this.parent ? this.parent.path.concat(this.key) : [];
|
|
98
|
-
this.id = this.config.id || [this.machine.id, ...this.path].join(
|
|
98
|
+
this.id = this.config.id || [this.machine.id, ...this.path].join(actors_dist_xstateActors.STATE_DELIMITER);
|
|
99
99
|
this.type = this.config.type || (this.config.states && Object.keys(this.config.states).length ? 'compound' : this.config.history ? 'history' : 'atomic');
|
|
100
100
|
this.description = this.config.description;
|
|
101
101
|
this.order = this.machine.idMap.size;
|
|
@@ -185,9 +185,9 @@ class StateNode {
|
|
|
185
185
|
systemId
|
|
186
186
|
} = invokeConfig;
|
|
187
187
|
const resolvedSrc = actors_dist_xstateActors.isString(src) ? src : !('type' in src) ? resolvedId : src;
|
|
188
|
-
if (!this.machine.
|
|
189
|
-
this.machine.
|
|
190
|
-
...this.machine.
|
|
188
|
+
if (!this.machine.implementations.actors[resolvedId] && typeof src !== 'string' && !('type' in src)) {
|
|
189
|
+
this.machine.implementations.actors = {
|
|
190
|
+
...this.machine.implementations.actors,
|
|
191
191
|
// TODO: this should accept `src` as-is
|
|
192
192
|
[resolvedId]: src
|
|
193
193
|
};
|
|
@@ -318,33 +318,7 @@ class StateNode {
|
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
const STATE_IDENTIFIER = '#';
|
|
321
|
-
function createDefaultOptions() {
|
|
322
|
-
return {
|
|
323
|
-
actions: {},
|
|
324
|
-
actors: {},
|
|
325
|
-
delays: {},
|
|
326
|
-
guards: {},
|
|
327
|
-
context: {}
|
|
328
|
-
};
|
|
329
|
-
}
|
|
330
321
|
class StateMachine {
|
|
331
|
-
// TODO: this getter should be removed
|
|
332
|
-
getContext(input) {
|
|
333
|
-
return this.getContextAndActions(undefined, input)[0];
|
|
334
|
-
}
|
|
335
|
-
getContextAndActions(actorCtx, input) {
|
|
336
|
-
const actions = [];
|
|
337
|
-
const {
|
|
338
|
-
context
|
|
339
|
-
} = this.config;
|
|
340
|
-
const resolvedContext = typeof context === 'function' ? context({
|
|
341
|
-
spawn: actors_dist_xstateActors.createSpawner(actorCtx?.self, this, undefined,
|
|
342
|
-
// TODO: this requires `| undefined` for all referenced dynamic inputs that are spawnable in the context factory,
|
|
343
|
-
actors_dist_xstateActors.createInitEvent(input), actions),
|
|
344
|
-
input
|
|
345
|
-
}) : context;
|
|
346
|
-
return [resolvedContext || {}, actions];
|
|
347
|
-
}
|
|
348
322
|
/**
|
|
349
323
|
* The machine's own version.
|
|
350
324
|
*/
|
|
@@ -353,11 +327,10 @@ class StateMachine {
|
|
|
353
327
|
/**
|
|
354
328
|
* The raw config used to create the machine.
|
|
355
329
|
*/
|
|
356
|
-
config,
|
|
330
|
+
config, implementations) {
|
|
357
331
|
this.config = config;
|
|
358
332
|
this.version = void 0;
|
|
359
|
-
this.
|
|
360
|
-
this.options = void 0;
|
|
333
|
+
this.implementations = void 0;
|
|
361
334
|
this.types = void 0;
|
|
362
335
|
this.__xstatenode = true;
|
|
363
336
|
this.idMap = new Map();
|
|
@@ -371,8 +344,12 @@ class StateMachine {
|
|
|
371
344
|
this.__TActorMap = void 0;
|
|
372
345
|
this.__TResolvedTypesMeta = void 0;
|
|
373
346
|
this.id = config.id || '(machine)';
|
|
374
|
-
this.
|
|
375
|
-
|
|
347
|
+
this.implementations = {
|
|
348
|
+
actors: implementations?.actors ?? {},
|
|
349
|
+
actions: implementations?.actions ?? {},
|
|
350
|
+
delays: implementations?.delays ?? {},
|
|
351
|
+
guards: implementations?.guards ?? {}
|
|
352
|
+
};
|
|
376
353
|
this.version = this.config.version;
|
|
377
354
|
this.types = this.config.types ?? {};
|
|
378
355
|
this.transition = this.transition.bind(this);
|
|
@@ -400,7 +377,7 @@ class StateMachine {
|
|
|
400
377
|
guards,
|
|
401
378
|
actors,
|
|
402
379
|
delays
|
|
403
|
-
} = this.
|
|
380
|
+
} = this.implementations;
|
|
404
381
|
return new StateMachine(this.config, {
|
|
405
382
|
actions: {
|
|
406
383
|
...actions,
|
|
@@ -438,10 +415,9 @@ class StateMachine {
|
|
|
438
415
|
done: actors_dist_xstateActors.isInFinalState(configuration)
|
|
439
416
|
});
|
|
440
417
|
}
|
|
441
|
-
resolveStateValue(stateValue) {
|
|
418
|
+
resolveStateValue(stateValue, ...[context]) {
|
|
442
419
|
const resolvedStateValue = actors_dist_xstateActors.resolveStateValue(this.root, stateValue);
|
|
443
|
-
|
|
444
|
-
return this.resolveState(actors_dist_xstateActors.State.from(resolvedStateValue, resolvedContext, this));
|
|
420
|
+
return this.resolveState(actors_dist_xstateActors.State.from(resolvedStateValue, context, this));
|
|
445
421
|
}
|
|
446
422
|
|
|
447
423
|
/**
|
|
@@ -480,22 +456,27 @@ class StateMachine {
|
|
|
480
456
|
* The initial state _before_ evaluating any microsteps.
|
|
481
457
|
* This "pre-initial" state is provided to initial actions executed in the initial state.
|
|
482
458
|
*/
|
|
483
|
-
getPreInitialState(actorCtx,
|
|
484
|
-
const
|
|
485
|
-
|
|
459
|
+
getPreInitialState(actorCtx, initEvent) {
|
|
460
|
+
const {
|
|
461
|
+
context
|
|
462
|
+
} = this.config;
|
|
486
463
|
const preInitial = this.resolveState(this.createState({
|
|
487
464
|
value: {},
|
|
488
465
|
// TODO: this is computed in state constructor
|
|
489
|
-
context,
|
|
466
|
+
context: typeof context !== 'function' && context ? context : {},
|
|
490
467
|
meta: undefined,
|
|
491
|
-
configuration:
|
|
492
|
-
transitions: [],
|
|
468
|
+
configuration: actors_dist_xstateActors.getInitialConfiguration(this.root),
|
|
493
469
|
children: {}
|
|
494
470
|
}));
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
471
|
+
if (typeof context === 'function') {
|
|
472
|
+
const assignment = ({
|
|
473
|
+
spawn,
|
|
474
|
+
event
|
|
475
|
+
}) => context({
|
|
476
|
+
spawn,
|
|
477
|
+
input: event.input
|
|
478
|
+
});
|
|
479
|
+
return actors_dist_xstateActors.resolveActionsAndContext([actors_dist_xstateActors.assign(assignment)], initEvent, preInitial, actorCtx);
|
|
499
480
|
}
|
|
500
481
|
return preInitial;
|
|
501
482
|
}
|
|
@@ -506,8 +487,15 @@ class StateMachine {
|
|
|
506
487
|
getInitialState(actorCtx, input) {
|
|
507
488
|
const initEvent = actors_dist_xstateActors.createInitEvent(input); // TODO: fix;
|
|
508
489
|
|
|
509
|
-
const preInitialState = this.getPreInitialState(actorCtx,
|
|
510
|
-
const nextState = actors_dist_xstateActors.microstep([
|
|
490
|
+
const preInitialState = this.getPreInitialState(actorCtx, initEvent);
|
|
491
|
+
const nextState = actors_dist_xstateActors.microstep([{
|
|
492
|
+
target: [...preInitialState.configuration].filter(actors_dist_xstateActors.isAtomicStateNode),
|
|
493
|
+
source: this.root,
|
|
494
|
+
reenter: true,
|
|
495
|
+
actions: [],
|
|
496
|
+
eventType: null,
|
|
497
|
+
toJSON: null // TODO: fix
|
|
498
|
+
}], preInitialState, actorCtx, initEvent, true);
|
|
511
499
|
const {
|
|
512
500
|
state: macroState
|
|
513
501
|
} = actors_dist_xstateActors.macrostep(nextState, initEvent, actorCtx);
|
|
@@ -526,7 +514,7 @@ class StateMachine {
|
|
|
526
514
|
});
|
|
527
515
|
}
|
|
528
516
|
getStateNodeById(stateId) {
|
|
529
|
-
const fullPath = stateId.split(
|
|
517
|
+
const fullPath = stateId.split(actors_dist_xstateActors.STATE_DELIMITER);
|
|
530
518
|
const relativePath = fullPath.slice(1);
|
|
531
519
|
const resolvedStateId = actors_dist_xstateActors.isStateId(fullPath[0]) ? fullPath[0].slice(STATE_IDENTIFIER.length) : fullPath[0];
|
|
532
520
|
const stateNode = this.idMap.get(resolvedStateId);
|
|
@@ -536,10 +524,7 @@ class StateMachine {
|
|
|
536
524
|
return actors_dist_xstateActors.getStateNodeByPath(stateNode, relativePath);
|
|
537
525
|
}
|
|
538
526
|
get definition() {
|
|
539
|
-
return
|
|
540
|
-
context: this.getContext(),
|
|
541
|
-
...this.root.definition
|
|
542
|
-
};
|
|
527
|
+
return this.root.definition;
|
|
543
528
|
}
|
|
544
529
|
toJSON() {
|
|
545
530
|
return this.definition;
|
|
@@ -564,7 +549,7 @@ class StateMachine {
|
|
|
564
549
|
const actorData = state.children[actorId];
|
|
565
550
|
const childState = actorData.state;
|
|
566
551
|
const src = actorData.src;
|
|
567
|
-
const logic = src ? actors_dist_xstateActors.resolveReferencedActor(this.
|
|
552
|
+
const logic = src ? actors_dist_xstateActors.resolveReferencedActor(this.implementations.actors[src])?.src : undefined;
|
|
568
553
|
if (!logic) {
|
|
569
554
|
return;
|
|
570
555
|
}
|
|
@@ -591,7 +576,7 @@ class StateMachine {
|
|
|
591
576
|
if (children[id]) {
|
|
592
577
|
return;
|
|
593
578
|
}
|
|
594
|
-
const referenced = actors_dist_xstateActors.resolveReferencedActor(this.
|
|
579
|
+
const referenced = actors_dist_xstateActors.resolveReferencedActor(this.implementations.actors[src]);
|
|
595
580
|
if (referenced) {
|
|
596
581
|
const actorRef = actors_dist_xstateActors.interpret(referenced.src, {
|
|
597
582
|
id,
|