xstate 5.0.0-beta.45 → 5.0.0-beta.47

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.
Files changed (47) hide show
  1. package/actions/dist/xstate-actions.cjs.js +4 -3
  2. package/actions/dist/xstate-actions.cjs.mjs +3 -2
  3. package/actions/dist/xstate-actions.development.cjs.js +4 -3
  4. package/actions/dist/xstate-actions.development.cjs.mjs +3 -2
  5. package/actions/dist/xstate-actions.development.esm.js +2 -2
  6. package/actions/dist/xstate-actions.esm.js +2 -2
  7. package/actions/dist/xstate-actions.umd.min.js +1 -1
  8. package/actions/dist/xstate-actions.umd.min.js.map +1 -1
  9. package/actors/dist/xstate-actors.cjs.js +42 -5
  10. package/actors/dist/xstate-actors.development.cjs.js +42 -5
  11. package/actors/dist/xstate-actors.development.esm.js +42 -5
  12. package/actors/dist/xstate-actors.esm.js +42 -5
  13. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  14. package/dist/declarations/src/State.d.ts +16 -26
  15. package/dist/declarations/src/StateMachine.d.ts +11 -29
  16. package/dist/declarations/src/StateNode.d.ts +8 -6
  17. package/dist/declarations/src/actions/{spawn.d.ts → spawnChild.d.ts} +1 -1
  18. package/dist/declarations/src/actions/{stop.d.ts → stopChild.d.ts} +8 -2
  19. package/dist/declarations/src/actions.d.ts +2 -2
  20. package/dist/declarations/src/actors/observable.d.ts +41 -4
  21. package/dist/declarations/src/createMachine.d.ts +3 -3
  22. package/dist/declarations/src/index.d.ts +1 -1
  23. package/dist/declarations/src/setup.d.ts +11 -8
  24. package/dist/declarations/src/types.d.ts +41 -15
  25. package/dist/declarations/src/utils.d.ts +2 -1
  26. package/dist/{raise-90139fbc.development.esm.js → raise-156f5f68.development.esm.js} +47 -53
  27. package/dist/{raise-fabffc3d.cjs.js → raise-7af24c22.cjs.js} +49 -53
  28. package/dist/{raise-b3fb3c65.development.cjs.js → raise-7dc97582.development.cjs.js} +49 -53
  29. package/dist/{raise-2b5a4e4c.esm.js → raise-91ec8b4f.esm.js} +47 -53
  30. package/dist/{send-c124176f.cjs.js → send-401f5c30.cjs.js} +22 -1
  31. package/dist/{send-24cc8018.development.esm.js → send-7489590c.development.esm.js} +22 -1
  32. package/dist/{send-d0bc7eed.development.cjs.js → send-bc0d3e22.development.cjs.js} +22 -1
  33. package/dist/{send-8e7e41e7.esm.js → send-ed326064.esm.js} +22 -1
  34. package/dist/xstate.cjs.js +61 -82
  35. package/dist/xstate.cjs.mjs +3 -1
  36. package/dist/xstate.development.cjs.js +61 -82
  37. package/dist/xstate.development.cjs.mjs +3 -1
  38. package/dist/xstate.development.esm.js +60 -83
  39. package/dist/xstate.esm.js +60 -83
  40. package/dist/xstate.umd.min.js +1 -1
  41. package/dist/xstate.umd.min.js.map +1 -1
  42. package/guards/dist/xstate-guards.cjs.js +1 -1
  43. package/guards/dist/xstate-guards.development.cjs.js +1 -1
  44. package/guards/dist/xstate-guards.development.esm.js +1 -1
  45. package/guards/dist/xstate-guards.esm.js +1 -1
  46. package/guards/dist/xstate-guards.umd.min.js.map +1 -1
  47. package/package.json +1 -1
@@ -64,13 +64,15 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
64
64
  /**
65
65
  * The root machine node.
66
66
  */
67
- machine: StateMachine<TContext, TEvent, any, // actors
67
+ machine: StateMachine<TContext, TEvent, any, // children
68
+ any, // actor
69
+ any, // action
70
+ any, // guard
71
+ any, // delay
72
+ any, // tag
68
73
  any, // input
69
- TODO, // output
70
- TODO, // guards
71
- TODO, // delays
72
- TODO, // tags
73
- TODO>;
74
+ any, // output
75
+ any>;
74
76
  /**
75
77
  * The meta data associated with this state node, which will be returned in State instances.
76
78
  */
@@ -25,5 +25,5 @@ type SpawnArguments<TContext extends MachineContext, TExpressionEvent extends Ev
25
25
  syncSnapshot?: boolean;
26
26
  }
27
27
  ];
28
- export declare function spawn<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject, TActor extends ProvidedActor>(...[src, { id, systemId, input, syncSnapshot }]: SpawnArguments<TContext, TExpressionEvent, TEvent, TActor>): SpawnAction<TContext, TExpressionEvent, TParams, TEvent, TActor>;
28
+ export declare function spawnChild<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject, TActor extends ProvidedActor>(...[src, { id, systemId, input, syncSnapshot }]: SpawnArguments<TContext, TExpressionEvent, TEvent, TActor>): SpawnAction<TContext, TExpressionEvent, TParams, TEvent, TActor>;
29
29
  export {};
@@ -4,9 +4,15 @@ export interface StopAction<TContext extends MachineContext, TExpressionEvent ex
4
4
  (args: ActionArgs<TContext, TExpressionEvent, TEvent>, params: TParams): void;
5
5
  }
6
6
  /**
7
- * Stops an actor.
7
+ * Stops a child actor.
8
8
  *
9
9
  * @param actorRef The actor to stop.
10
10
  */
11
- export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TParams, TEvent>): StopAction<TContext, TExpressionEvent, TParams, TEvent>;
11
+ export declare function stopChild<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TParams, TEvent>): StopAction<TContext, TExpressionEvent, TParams, TEvent>;
12
+ /**
13
+ * Stops a child actor.
14
+ *
15
+ * @deprecated Use `stopChild(...)` instead
16
+ */
17
+ export declare const stop: typeof stopChild;
12
18
  export {};
@@ -5,5 +5,5 @@ export { log, type LogAction } from "./actions/log.js";
5
5
  export { pure, type PureAction } from "./actions/pure.js";
6
6
  export { raise, type RaiseAction } from "./actions/raise.js";
7
7
  export { escalate, forwardTo, sendParent, sendTo, type SendToAction } from "./actions/send.js";
8
- export { stop, type StopAction } from "./actions/stop.js";
9
- export { spawn, type SpawnAction } from "./actions/spawn.js";
8
+ export { stop, stopChild, type StopAction } from "./actions/stopChild.js";
9
+ export { spawnChild, type SpawnAction } from "./actions/spawnChild.js";
@@ -22,6 +22,7 @@ export type ObservableActorRef<TContext> = ActorRefFrom<ObservableActorLogic<TCo
22
22
  * - `input` - Data that was provided to the observable actor
23
23
  * - `self` - The parent actor
24
24
  * - `system` - The actor system to which the observable actor belongs
25
+ *
25
26
  * It should return a {@link Subscribable}, which is compatible with an RxJS Observable, although RxJS is not required to create them.
26
27
  *
27
28
  * @example
@@ -54,12 +55,48 @@ export declare function fromObservable<TContext, TInput>(observableCreator: ({ i
54
55
  self: ObservableActorRef<TContext>;
55
56
  }) => Subscribable<TContext>): ObservableActorLogic<TContext, TInput>;
56
57
  /**
57
- * Creates event observable logic that listens to an observable
58
- * that delivers event objects.
58
+ * Creates event observable logic that listens to an observable that delivers event objects.
59
+ *
60
+ * Event observable actor logic is described by an observable stream of {@link https://stately.ai/docs/transitions#event-objects | event objects}. Actors created from event observable logic (“event observable actors”) can:
61
+ *
62
+ * - Implicitly send events to its parent actor
63
+ * - Emit snapshots of its emitted event objects
64
+ *
65
+ * Sending events to event observable actors will have no effect.
59
66
  *
67
+ * @param lazyObservable A function that creates an observable that delivers event objects. It receives one argument, an object with the following properties:
68
+ *
69
+ * - `input` - Data that was provided to the event observable actor
70
+ * - `self` - The parent actor
71
+ * - `system` - The actor system to which the event observable actor belongs.
72
+ *
73
+ * It should return a {@link Subscribable}, which is compatible with an RxJS Observable, although RxJS is not required to create them.
60
74
  *
61
- * @param lazyObservable A function that creates an observable
62
- * @returns Event observable logic
75
+ * @example
76
+ * ```ts
77
+ * import {
78
+ * fromEventObservable,
79
+ * Subscribable,
80
+ * EventObject,
81
+ * createMachine,
82
+ * createActor
83
+ * } from 'xstate';
84
+ * import { fromEvent } from 'rxjs';
85
+ *
86
+ * const mouseClickLogic = fromEventObservable(() =>
87
+ * fromEvent(document.body, 'click') as Subscribable<EventObject>
88
+ * );
89
+ *
90
+ * const canvasMachine = createMachine({
91
+ * invoke: {
92
+ * // Will send mouse `click` events to the canvas actor
93
+ * src: mouseClickLogic,
94
+ * }
95
+ * });
96
+ *
97
+ * const canvasActor = createActor(canvasMachine);
98
+ * canvasActor.start();
99
+ * ```
63
100
  */
64
101
  export declare function fromEventObservable<T extends EventObject, TInput>(lazyObservable: ({ input, system }: {
65
102
  input: TInput;
@@ -1,5 +1,5 @@
1
- import { MachineConfig, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, NonReducibleUnknown, Prop, AnyEventObject } from "./types.js";
2
- import { TypegenConstraint, ResolveTypegenMeta, TypegenDisabled } from "./typegenTypes.js";
3
1
  import { StateMachine } from "./StateMachine.js";
2
+ import { ResolveTypegenMeta, TypegenConstraint, TypegenDisabled } from "./typegenTypes.js";
3
+ import { AnyActorRef, AnyEventObject, Cast, InternalMachineImplementations, MachineConfig, MachineContext, NonReducibleUnknown, ParameterizedObject, Prop, ProvidedActor, ToChildren } from "./types.js";
4
4
  export declare function createMachine<TContext extends MachineContext, TEvent extends AnyEventObject, // TODO: consider using a stricter `EventObject` here
5
- TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput extends NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TDelay, Prop<ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>['resolved'], 'tags'> & string, TInput, TOutput, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
5
+ TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput extends NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>): StateMachine<TContext, TEvent, Cast<ToChildren<TActor>, Record<string, AnyActorRef | undefined>>, TActor, TAction, TGuard, TDelay, Prop<ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>['resolved'], 'tags'> & string, TInput, TOutput, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
@@ -11,7 +11,7 @@ import { Actor, createActor, interpret, Interpreter } from "./interpreter.js";
11
11
  import { createMachine } from "./createMachine.js";
12
12
  export { type MachineSnapshot, isMachineSnapshot } from "./State.js";
13
13
  import { StateNode } from "./StateNode.js";
14
- export { matchesState, pathToStateValue, toObserver } from "./utils.js";
14
+ export { matchesState, pathToStateValue, toObserver, getAllOwnEventDescriptors as __unsafe_getAllOwnEventDescriptors } from "./utils.js";
15
15
  export { Actor, createActor, createMachine, interpret, StateNode, type Interpreter };
16
16
  export type { InspectedActorEvent, InspectedEventEvent, InspectedSnapshotEvent, InspectionEvent } from "./system.js";
17
17
  export { and, not, or, stateIn } from "./guards.js";
@@ -1,24 +1,27 @@
1
- import { ResolveTypegenMeta, StateMachine, TypegenDisabled } from "./index.js";
1
+ import { StateMachine } from "./StateMachine.js";
2
2
  import { GuardPredicate } from "./guards.js";
3
- import { AnyActorLogic, MachineContext, AnyEventObject, NonReducibleUnknown, MachineConfig, Values, ParameterizedObject, ActionFunction, SetupTypes, DelayConfig } from "./types.js";
3
+ import { ResolveTypegenMeta, TypegenDisabled } from "./typegenTypes.js";
4
+ import { ActionFunction, AnyActorLogic, AnyActorRef, AnyEventObject, Cast, DelayConfig, Invert, IsNever, MachineConfig, MachineContext, NonReducibleUnknown, ParameterizedObject, SetupTypes, ToChildren, Values } from "./types.js";
4
5
  type ToParameterizedObject<TParameterizedMap extends Record<string, ParameterizedObject['params'] | undefined>> = Values<{
5
6
  [K in keyof TParameterizedMap & string]: {
6
7
  type: K;
7
8
  params: TParameterizedMap[K];
8
9
  };
9
10
  }>;
10
- type ToProvidedActor<TActors extends Record<string, AnyActorLogic>> = Values<{
11
- [K in keyof TActors & string]: {
11
+ type DefaultToAnyActors<TActors extends Record<string, AnyActorLogic>> = IsNever<keyof TActors> extends true ? Record<string, AnyActorLogic> : TActors;
12
+ type ToProvidedActor<TChildrenMap extends Record<string, string>, TActors extends Record<Values<TChildrenMap>, AnyActorLogic>> = Values<{
13
+ [K in keyof DefaultToAnyActors<TActors> & string]: {
12
14
  src: K;
13
15
  logic: TActors[K];
16
+ id: IsNever<TChildrenMap> extends true ? string | undefined : K extends keyof Invert<TChildrenMap> ? Invert<TChildrenMap>[K] : string | undefined;
14
17
  };
15
18
  }>;
16
19
  export declare function setup<TContext extends MachineContext, TEvent extends AnyEventObject, // TODO: consider using a stricter `EventObject` here
17
- TActors extends Record<string, AnyActorLogic>, TActions extends Record<string, ParameterizedObject['params'] | undefined>, TGuards extends Record<string, ParameterizedObject['params'] | undefined>, TDelay extends string, TTag extends string, TInput, TOutput extends NonReducibleUnknown>({ actors, actions, guards, delays }: {
18
- types?: SetupTypes<TContext, TEvent, TTag, TInput, TOutput>;
20
+ TActors extends Record<Values<TChildrenMap>, AnyActorLogic>, TActions extends Record<string, ParameterizedObject['params'] | undefined>, TGuards extends Record<string, ParameterizedObject['params'] | undefined>, TDelay extends string, TTag extends string, TInput, TOutput extends NonReducibleUnknown, TChildrenMap extends Record<string, string> = never>({ actors, actions, guards, delays }: {
21
+ types?: SetupTypes<TContext, TEvent, TChildrenMap, TTag, TInput, TOutput>;
19
22
  actors?: TActors;
20
23
  actions?: {
21
- [K in keyof TActions]: ActionFunction<TContext, TEvent, TEvent, TActions[K], ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay>;
24
+ [K in keyof TActions]: ActionFunction<TContext, TEvent, TEvent, TActions[K], ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay>;
22
25
  };
23
26
  guards?: {
24
27
  [K in keyof TGuards]: GuardPredicate<TContext, TEvent, TGuards[K], ToParameterizedObject<TGuards>>;
@@ -27,6 +30,6 @@ TActors extends Record<string, AnyActorLogic>, TActions extends Record<string, P
27
30
  [K in TDelay]: DelayConfig<TContext, TEvent, ToParameterizedObject<TActions>['params'], TEvent>;
28
31
  };
29
32
  }): {
30
- createMachine: (config: MachineConfig<TContext, TEvent, ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag, TInput, TOutput, ResolveTypegenMeta<TypegenDisabled, TEvent, ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag>>) => StateMachine<TContext, TEvent, ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag, TInput, TOutput, ResolveTypegenMeta<TypegenDisabled, TEvent, ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag>>;
33
+ createMachine: <const TConfig extends MachineConfig<TContext, TEvent, ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag, TInput, TOutput, ResolveTypegenMeta<TypegenDisabled, TEvent, ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag>>>(config: TConfig) => StateMachine<TContext, TEvent, Cast<ToChildren<ToProvidedActor<TChildrenMap, TActors>>, Record<string, AnyActorRef | undefined>>, ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag, TInput, TOutput, ResolveTypegenMeta<TypegenDisabled, TEvent, ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag>>;
31
34
  };
32
35
  export {};
@@ -17,6 +17,9 @@ export type HomomorphicPick<T, K extends keyof any> = {
17
17
  export type HomomorphicOmit<T, K extends keyof any> = {
18
18
  [P in keyof T as Exclude<P, K>]: T[P];
19
19
  };
20
+ export type Invert<T extends Record<PropertyKey, PropertyKey>> = {
21
+ [K in keyof T as T[K]]: K;
22
+ };
20
23
  export type GetParameterizedParams<T extends ParameterizedObject | undefined> = T extends any ? ('params' extends keyof T ? T['params'] : undefined) : never;
21
24
  /**
22
25
  *
@@ -77,13 +80,14 @@ export interface ParameterizedObject {
77
80
  export interface UnifiedArg<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> {
78
81
  context: TContext;
79
82
  event: TExpressionEvent;
80
- self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent, ProvidedActor, string, unknown>>;
83
+ self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent, Record<string, AnyActorRef | undefined>, // TODO: this should be replaced with `TChildren`
84
+ string, unknown>>;
81
85
  system: ActorSystem<any>;
82
86
  }
83
87
  export type MachineContext = Record<string, any>;
84
88
  export interface ActionArgs<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> extends UnifiedArg<TContext, TExpressionEvent, TEvent> {
85
89
  }
86
- export type InputFrom<T extends AnyActorLogic> = T extends StateMachine<infer _TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TInput : T extends ActorLogic<infer _TSnapshot, infer _TEvent, infer TInput, infer _TSystem> ? TInput : never;
90
+ export type InputFrom<T extends AnyActorLogic> = T extends StateMachine<infer _TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TInput : T extends ActorLogic<infer _TSnapshot, infer _TEvent, infer TInput, infer _TSystem> ? TInput : never;
87
91
  export type OutputFrom<T extends AnyActorLogic> = T extends ActorLogic<infer TSnapshot, infer _TEvent, infer _TInput, infer _TSystem> ? (TSnapshot & {
88
92
  status: 'done';
89
93
  })['output'] : never;
@@ -348,7 +352,16 @@ export type AnyStateNodeDefinition = StateNodeDefinition<any, any>;
348
352
  export type AnyMachineSnapshot = MachineSnapshot<any, any, any, any, any, any>;
349
353
  /** @deprecated use `AnyMachineSnapshot` instead */
350
354
  export type AnyState = AnyMachineSnapshot;
351
- export type AnyStateMachine = StateMachine<any, any, any, any, any, any, any, any, any, // delays
355
+ export type AnyStateMachine = StateMachine<any, // context
356
+ any, // event
357
+ any, // children
358
+ any, // actor
359
+ any, // action
360
+ any, // guard
361
+ any, // delay
362
+ any, // tag
363
+ any, // input
364
+ any, // output
352
365
  any>;
353
366
  export type AnyStateConfig = StateConfig<any, AnyEventObject>;
354
367
  export interface AtomicStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> extends StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO, TODO, TODO> {
@@ -441,14 +454,15 @@ export interface ProvidedActor {
441
454
  logic: AnyActorLogic;
442
455
  id?: string;
443
456
  }
444
- export interface SetupTypes<TContext extends MachineContext, TEvent extends EventObject, TTag extends string, TInput, TOutput> {
457
+ export interface SetupTypes<TContext extends MachineContext, TEvent extends EventObject, TChildrenMap extends Record<string, string>, TTag extends string, TInput, TOutput> {
445
458
  context?: TContext;
446
459
  events?: TEvent;
460
+ children?: TChildrenMap;
447
461
  tags?: TTag;
448
462
  input?: TInput;
449
463
  output?: TOutput;
450
464
  }
451
- export interface MachineTypes<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput, TTypesMeta = TypegenDisabled> extends SetupTypes<TContext, TEvent, TTag, TInput, TOutput> {
465
+ export interface MachineTypes<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput, TTypesMeta = TypegenDisabled> extends SetupTypes<TContext, TEvent, never, TTag, TInput, TOutput> {
452
466
  actors?: TActor;
453
467
  actions?: TAction;
454
468
  guards?: TGuard;
@@ -506,7 +520,8 @@ export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent e
506
520
  export type Mapper<TContext extends MachineContext, TExpressionEvent extends EventObject, TResult, TEvent extends EventObject> = (args: {
507
521
  context: TContext;
508
522
  event: TExpressionEvent;
509
- self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent, ProvidedActor, string, unknown>>;
523
+ self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent, Record<string, AnyActorRef>, // TODO: this should be replaced with `TChildren`
524
+ string, unknown>>;
510
525
  }) => TResult;
511
526
  export interface TransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent, TEvent, TODO, TODO, TODO, TODO>, 'target' | 'guard'> {
512
527
  target: ReadonlyArray<StateNode<TContext, TEvent>> | undefined;
@@ -547,7 +562,7 @@ export interface StateConfig<TContext extends MachineContext, TEvent extends Eve
547
562
  status: 'active' | 'done' | 'error' | 'stopped';
548
563
  output?: any;
549
564
  error?: unknown;
550
- machine?: StateMachine<TContext, TEvent, any, any, any, any, any, any, any>;
565
+ machine?: StateMachine<TContext, TEvent, any, any, any, any, any, any, any, any, any>;
551
566
  }
552
567
  export interface ActorOptions<TLogic extends AnyActorLogic> {
553
568
  /**
@@ -730,16 +745,17 @@ export interface ActorRef<TEvent extends EventObject, TSnapshot extends Snapshot
730
745
  src: string | AnyActorLogic;
731
746
  }
732
747
  export type AnyActorRef = ActorRef<any, any>;
733
- export type ActorLogicFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<any, any, any, any, any, any, any, any, any> ? R : R extends Promise<infer U> ? PromiseActorLogic<U> : never : never;
734
- export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, infer TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer _TInput, infer TOutput, infer TResolvedTypesMeta> ? ActorRef<TEvent, MachineSnapshot<TContext, TEvent, TActor, TTag, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>> : R extends Promise<infer U> ? ActorRefFrom<PromiseActorLogic<U>> : R extends ActorLogic<infer TSnapshot, infer TEvent, infer _TInput, infer _TSystem> ? ActorRef<TEvent, TSnapshot> : never : never;
748
+ export type ActorLogicFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<any, any, any, any, any, any, any, any, any, any, any> ? R : R extends Promise<infer U> ? PromiseActorLogic<U> : never : never;
749
+ export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, infer TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer _TInput, infer TOutput, infer TResolvedTypesMeta> ? ActorRef<TEvent, MachineSnapshot<TContext, TEvent, TChildren, TTag, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>> : R extends Promise<infer U> ? ActorRefFrom<PromiseActorLogic<U>> : R extends ActorLogic<infer TSnapshot, infer TEvent, infer _TInput, infer _TSystem> ? ActorRef<TEvent, TSnapshot> : never : never;
735
750
  export type DevToolsAdapter = (service: AnyActor) => void;
736
751
  /**
737
752
  * @deprecated Use `Actor<T>` instead.
738
753
  */
739
- export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer TInput, infer TOutput, infer TResolvedTypesMeta> ? Actor<ActorLogic<MachineSnapshot<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, TEvent, TInput, ActorSystem<any>>> : never;
740
- export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TResolvedTypesMeta, TRequireMissingImplementations> : never;
754
+ export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer TInput, infer TOutput, infer TResolvedTypesMeta> ? Actor<ActorLogic<MachineSnapshot<TContext, TEvent, TChildren, TTag, TOutput, TResolvedTypesMeta>, TEvent, TInput, ActorSystem<any>>> : never;
755
+ export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TResolvedTypesMeta, TRequireMissingImplementations> : never;
741
756
  export type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, // context
742
757
  any, // event
758
+ any, // children
743
759
  any, // actor
744
760
  any, // action
745
761
  any, // guard
@@ -828,11 +844,11 @@ export type AnyActorLogic = ActorLogic<any, // snapshot
828
844
  any, // event
829
845
  any, // input
830
846
  any>;
831
- export type SnapshotFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends ActorRef<infer _, infer TSnapshot> ? TSnapshot : R extends Actor<infer TLogic> ? SnapshotFrom<TLogic> : R extends StateMachine<infer _TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? StateFrom<R> : R extends ActorLogic<any, any, any, any> ? ReturnType<R['transition']> : R extends ActorScope<infer TSnapshot, infer _, infer __> ? TSnapshot : never : never;
847
+ export type SnapshotFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends ActorRef<infer _, infer TSnapshot> ? TSnapshot : R extends Actor<infer TLogic> ? SnapshotFrom<TLogic> : R extends StateMachine<infer _TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? StateFrom<R> : R extends ActorLogic<any, any, any, any> ? ReturnType<R['transition']> : R extends ActorScope<infer TSnapshot, infer _, infer __> ? TSnapshot : never : never;
832
848
  export type EventFromLogic<TLogic extends ActorLogic<any, any, any, any>> = TLogic extends ActorLogic<infer _, infer TEvent, infer __, infer _____> ? TEvent : never;
833
- type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _TContext, infer TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends MachineSnapshot<infer _TContext, infer TEvent, infer _TActor, infer _TTag, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends ActorRef<infer TEvent, infer _> ? TEvent : never : never;
849
+ type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _TContext, infer TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends MachineSnapshot<infer _TContext, infer TEvent, infer _TChildren, infer _TTag, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends ActorRef<infer TEvent, infer _> ? TEvent : never : never;
834
850
  export type EventFrom<T, K extends Prop<TEvent, 'type'> = never, TEvent extends EventObject = ResolveEventType<T>> = IsNever<K> extends true ? TEvent : ExtractEvent<TEvent, K>;
835
- export type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : R extends MachineSnapshot<infer TContext, infer _TEvent, infer _TActor, infer _TTag, infer _TOutput, infer _TResolvedTypesMeta> ? TContext : R extends Actor<infer TActorLogic> ? TActorLogic extends StateMachine<infer TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : never : never : never;
851
+ export type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : R extends MachineSnapshot<infer TContext, infer _TEvent, infer _TChildren, infer _TTag, infer _TOutput, infer _TResolvedTypesMeta> ? TContext : R extends Actor<infer TActorLogic> ? TActorLogic extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : never : never : never;
836
852
  export type InferEvent<E extends EventObject> = {
837
853
  [T in E['type']]: {
838
854
  type: T;
@@ -851,5 +867,15 @@ export interface ActorSystem<T extends ActorSystemInfo> {
851
867
  inspect: (observer: Observer<InspectionEvent>) => void;
852
868
  }
853
869
  export type AnyActorSystem = ActorSystem<any>;
854
- export type RequiredActorOptions<TActor extends ProvidedActor> = ('id' extends keyof TActor ? 'id' : never) | (undefined extends InputFrom<TActor['logic']> ? never : 'input');
870
+ export type RequiredActorOptions<TActor extends ProvidedActor> = (undefined extends TActor['id'] ? never : 'id') | (undefined extends InputFrom<TActor['logic']> ? never : 'input');
871
+ type ExtractLiteralString<T extends string | undefined> = T extends string ? string extends T ? never : T : never;
872
+ type ToConcreteChildren<TActor extends ProvidedActor> = {
873
+ [A in TActor as ExtractLiteralString<A['id']>]?: ActorRefFrom<A['logic']>;
874
+ };
875
+ export type ToChildren<TActor extends ProvidedActor> = string extends TActor['src'] ? Record<string, AnyActorRef> : Compute<ToConcreteChildren<TActor> & {
876
+ include: {
877
+ [id: string]: TActor extends any ? ActorRefFrom<TActor['logic']> | undefined : never;
878
+ };
879
+ exclude: {};
880
+ }[undefined extends TActor['id'] ? 'include' : string extends TActor['id'] ? 'include' : 'exclude']>;
855
881
  export {};
@@ -1,5 +1,5 @@
1
1
  import type { StateNode } from "./StateNode.js";
2
- import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorActorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig, NonReducibleUnknown, AnyStateMachine } from "./types.js";
2
+ import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorActorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig, NonReducibleUnknown, AnyStateMachine, AnyMachineSnapshot } from "./types.js";
3
3
  export declare function keys<T extends object>(value: T): Array<keyof T & string>;
4
4
  export declare function matchesState(parentStateId: StateValue, childStateId: StateValue): boolean;
5
5
  export declare function toStatePath(stateId: string | string[]): string[];
@@ -38,3 +38,4 @@ export declare function reportUnhandledExceptionOnInvocation(originalError: any,
38
38
  export declare function toObserver<T>(nextHandler?: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
39
39
  export declare function createInvokeId(stateNodeId: string, index: number): string;
40
40
  export declare function resolveReferencedActor(machine: AnyStateMachine, src: string): any;
41
+ export declare function getAllOwnEventDescriptors(snapshot: AnyMachineSnapshot): any[];
@@ -319,6 +319,9 @@ function resolveReferencedActor(machine, src) {
319
319
  }
320
320
  return machine.implementations.actors[src];
321
321
  }
322
+ function getAllOwnEventDescriptors(snapshot) {
323
+ return [...new Set(flatten([...snapshot._nodes.map(sn => sn.ownEvents)]))];
324
+ }
322
325
 
323
326
  const $$ACTOR_TYPE = 1;
324
327
  // those values are currently used by @xstate/react directly so it's important to keep the assigned values in sync
@@ -345,32 +348,6 @@ const defaultOptions = {
345
348
  * An Actor is a running process that can receive events, send events and change its behavior based on the events it receives, which can cause effects outside of the actor. When you run a state machine, it becomes an actor.
346
349
  */
347
350
  class Actor {
348
- /**
349
- * The current internal state of the actor.
350
- */
351
-
352
- /**
353
- * The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions.
354
- */
355
-
356
- /**
357
- * The unique identifier for this actor relative to its parent.
358
- */
359
-
360
- /** @internal */
361
-
362
- // Actor Ref
363
-
364
- // TODO: add typings for system
365
-
366
- /**
367
- * The globally unique process ID for this invocation.
368
- */
369
-
370
- /**
371
- * The system to which this actor belongs.
372
- */
373
-
374
351
  /**
375
352
  * Creates a new actor instance for the given logic with the provided options, if any.
376
353
  *
@@ -379,24 +356,43 @@ class Actor {
379
356
  */
380
357
  constructor(logic, options) {
381
358
  this.logic = logic;
359
+ /**
360
+ * The current internal state of the actor.
361
+ */
382
362
  this._state = void 0;
363
+ /**
364
+ * The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions.
365
+ */
383
366
  this.clock = void 0;
384
367
  this.options = void 0;
368
+ /**
369
+ * The unique identifier for this actor relative to its parent.
370
+ */
385
371
  this.id = void 0;
386
372
  this.mailbox = new Mailbox(this._process.bind(this));
387
373
  this.delayedEventsMap = {};
388
374
  this.observers = new Set();
389
375
  this.logger = void 0;
376
+ /** @internal */
390
377
  this._processingStatus = ProcessingStatus.NotStarted;
378
+ // Actor Ref
391
379
  this._parent = void 0;
392
380
  this._syncSnapshot = void 0;
393
381
  this.ref = void 0;
382
+ // TODO: add typings for system
394
383
  this._actorScope = void 0;
395
384
  this._systemId = void 0;
385
+ /**
386
+ * The globally unique process ID for this invocation.
387
+ */
396
388
  this.sessionId = void 0;
389
+ /**
390
+ * The system to which this actor belongs.
391
+ */
397
392
  this.system = void 0;
398
393
  this._doneEvent = void 0;
399
394
  this.src = void 0;
395
+ // array of functions to defer
400
396
  this._deferred = [];
401
397
  const resolvedOptions = {
402
398
  ...defaultOptions,
@@ -461,9 +457,6 @@ class Actor {
461
457
  _initState(persistedState) {
462
458
  this._state = persistedState ? this.logic.restoreState ? this.logic.restoreState(persistedState, this._actorScope) : persistedState : this.logic.getInitialState(this._actorScope, this.options?.input);
463
459
  }
464
-
465
- // array of functions to defer
466
-
467
460
  update(snapshot, event) {
468
461
  // Update state
469
462
  this._state = snapshot;
@@ -963,26 +956,26 @@ function executeSpawn(actorScope, {
963
956
  }
964
957
  });
965
958
  }
966
- function spawn(...[src, {
959
+ function spawnChild(...[src, {
967
960
  id,
968
961
  systemId,
969
962
  input,
970
963
  syncSnapshot = false
971
964
  } = {}]) {
972
- function spawn(args, params) {
965
+ function spawnChild(args, params) {
973
966
  {
974
967
  throw new Error(`This isn't supposed to be called`);
975
968
  }
976
969
  }
977
- spawn.type = 'xstate.spawn';
978
- spawn.id = id;
979
- spawn.systemId = systemId;
980
- spawn.src = src;
981
- spawn.input = input;
982
- spawn.syncSnapshot = syncSnapshot;
983
- spawn.resolve = resolveSpawn;
984
- spawn.execute = executeSpawn;
985
- return spawn;
970
+ spawnChild.type = 'xstate.spawnChild';
971
+ spawnChild.id = id;
972
+ spawnChild.systemId = systemId;
973
+ spawnChild.src = src;
974
+ spawnChild.input = input;
975
+ spawnChild.syncSnapshot = syncSnapshot;
976
+ spawnChild.resolve = resolveSpawn;
977
+ spawnChild.execute = executeSpawn;
978
+ return spawnChild;
986
979
  }
987
980
 
988
981
  function resolveStop(_, state, args, actionParams, {
@@ -1026,23 +1019,30 @@ function executeStop(actorScope, actorRef) {
1026
1019
  });
1027
1020
  }
1028
1021
  /**
1029
- * Stops an actor.
1022
+ * Stops a child actor.
1030
1023
  *
1031
1024
  * @param actorRef The actor to stop.
1032
1025
  */
1033
- function stop(actorRef) {
1026
+ function stopChild(actorRef) {
1034
1027
  function stop(args, params) {
1035
1028
  {
1036
1029
  throw new Error(`This isn't supposed to be called`);
1037
1030
  }
1038
1031
  }
1039
- stop.type = 'xstate.stop';
1032
+ stop.type = 'xstate.stopChild';
1040
1033
  stop.actorRef = actorRef;
1041
1034
  stop.resolve = resolveStop;
1042
1035
  stop.execute = executeStop;
1043
1036
  return stop;
1044
1037
  }
1045
1038
 
1039
+ /**
1040
+ * Stops a child actor.
1041
+ *
1042
+ * @deprecated Use `stopChild(...)` instead
1043
+ */
1044
+ const stop = stopChild;
1045
+
1046
1046
  function checkStateIn(state, _, {
1047
1047
  stateValue
1048
1048
  }) {
@@ -1790,7 +1790,7 @@ function enterStates(currentState, event, actorScope, filteredTransitions, mutSt
1790
1790
  // Add entry actions
1791
1791
  actions.push(...stateNodeToEnter.entry);
1792
1792
  for (const invokeDef of stateNodeToEnter.invoke) {
1793
- actions.push(spawn(invokeDef.src, {
1793
+ actions.push(spawnChild(invokeDef.src, {
1794
1794
  ...invokeDef,
1795
1795
  syncSnapshot: !!invokeDef.onSnapshot
1796
1796
  }));
@@ -1941,7 +1941,7 @@ function exitStates(currentState, event, actorScope, transitions, mutStateNodeSe
1941
1941
  }
1942
1942
  }
1943
1943
  for (const s of statesToExit) {
1944
- nextState = resolveActionsAndContext(nextState, event, actorScope, [...s.exit, ...s.invoke.map(def => stop(def.id))], internalQueue);
1944
+ nextState = resolveActionsAndContext(nextState, event, actorScope, [...s.exit, ...s.invoke.map(def => stopChild(def.id))], internalQueue);
1945
1945
  mutStateNodeSet.delete(s);
1946
1946
  }
1947
1947
  return [nextState, changedHistory || historyValue];
@@ -2067,7 +2067,7 @@ function macrostep(state, event, actorScope, internalQueue = []) {
2067
2067
  };
2068
2068
  }
2069
2069
  function stopChildren(nextState, event, actorScope) {
2070
- return resolveActionsAndContext(nextState, event, actorScope, Object.values(nextState.children).map(child => stop(child)), []);
2070
+ return resolveActionsAndContext(nextState, event, actorScope, Object.values(nextState.children).map(child => stopChild(child)), []);
2071
2071
  }
2072
2072
  function selectTransitions(event, nextState) {
2073
2073
  return nextState.machine.getTransitionData(nextState, event);
@@ -2124,7 +2124,6 @@ const machineSnapshotToJSON = function toJSON() {
2124
2124
  _nodes: nodes,
2125
2125
  tags,
2126
2126
  machine,
2127
- getNextEvents,
2128
2127
  getMeta,
2129
2128
  toJSON,
2130
2129
  can,
@@ -2137,9 +2136,6 @@ const machineSnapshotToJSON = function toJSON() {
2137
2136
  tags: Array.from(tags)
2138
2137
  };
2139
2138
  };
2140
- const machineSnapshotGetNextEvents = function getNextEvents() {
2141
- return [...new Set(flatten([...this._nodes.map(sn => sn.ownEvents)]))];
2142
- };
2143
2139
  const machineSnapshotGetMeta = function getMeta() {
2144
2140
  return this._nodes.reduce((acc, stateNode) => {
2145
2141
  if (stateNode.meta !== undefined) {
@@ -2164,7 +2160,6 @@ function createMachineSnapshot(config, machine) {
2164
2160
  matches: machineSnapshotMatches,
2165
2161
  hasTag: machineSnapshotHasTag,
2166
2162
  can: machineSnapshotCan,
2167
- getNextEvents: machineSnapshotGetNextEvents,
2168
2163
  getMeta: machineSnapshotGetMeta,
2169
2164
  toJSON: machineSnapshotToJSON
2170
2165
  };
@@ -2185,7 +2180,6 @@ function getPersistedState(state, options) {
2185
2180
  can,
2186
2181
  hasTag,
2187
2182
  matches,
2188
- getNextEvents,
2189
2183
  getMeta,
2190
2184
  toJSON,
2191
2185
  ...jsonValues
@@ -2292,4 +2286,4 @@ function raise(eventOrExpr, options) {
2292
2286
  return raise;
2293
2287
  }
2294
2288
 
2295
- export { $$ACTOR_TYPE as $, resolveReferencedActor as A, createActor as B, Actor as C, interpret as D, isMachineSnapshot as E, matchesState as F, pathToStateValue as G, toObserver as H, and as I, not as J, or as K, stateIn as L, cancel as M, NULL_EVENT as N, raise as O, stop as P, spawn as Q, ProcessingStatus as R, STATE_DELIMITER as S, createErrorActorEvent as T, XSTATE_ERROR as U, XSTATE_STOP as X, toTransitionConfigArray as a, formatTransition as b, createInvokeId as c, formatInitialTransition as d, evaluateGuard as e, formatTransitions as f, getDelayedTransitions as g, getCandidates as h, getAllStateNodes as i, getStateNodes as j, createMachineSnapshot as k, isInFinalState as l, mapValues as m, isErrorActorEvent as n, cloneMachineSnapshot as o, macrostep as p, transitionNode as q, resolveStateValue as r, resolveActionsAndContext as s, toArray as t, createInitEvent as u, microstep as v, getInitialStateNodes as w, isStateId as x, getStateNodeByPath as y, getPersistedState as z };
2289
+ export { $$ACTOR_TYPE as $, getPersistedState as A, resolveReferencedActor as B, createActor as C, Actor as D, interpret as E, isMachineSnapshot as F, matchesState as G, pathToStateValue as H, toObserver as I, and as J, not as K, or as L, stateIn as M, NULL_EVENT as N, cancel as O, raise as P, stop as Q, stopChild as R, STATE_DELIMITER as S, spawnChild as T, ProcessingStatus as U, createErrorActorEvent as V, XSTATE_ERROR as W, XSTATE_STOP as X, toTransitionConfigArray as a, formatTransition as b, createInvokeId as c, formatInitialTransition as d, evaluateGuard as e, formatTransitions as f, getDelayedTransitions as g, getCandidates as h, getAllStateNodes as i, getStateNodes as j, createMachineSnapshot as k, isInFinalState as l, mapValues as m, isErrorActorEvent as n, getAllOwnEventDescriptors as o, cloneMachineSnapshot as p, macrostep as q, resolveStateValue as r, transitionNode as s, toArray as t, resolveActionsAndContext as u, createInitEvent as v, microstep as w, getInitialStateNodes as x, isStateId as y, getStateNodeByPath as z };