xstate 5.0.0-beta.27 → 5.0.0-beta.29

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 (67) hide show
  1. package/README.md +9 -7
  2. package/actions/dist/xstate-actions.cjs.js +11 -17
  3. package/actions/dist/xstate-actions.cjs.mjs +0 -8
  4. package/actions/dist/xstate-actions.development.cjs.js +11 -17
  5. package/actions/dist/xstate-actions.development.cjs.mjs +0 -8
  6. package/actions/dist/xstate-actions.development.esm.js +3 -1
  7. package/actions/dist/xstate-actions.esm.js +3 -1
  8. package/actions/dist/xstate-actions.umd.min.js +1 -1
  9. package/actions/dist/xstate-actions.umd.min.js.map +1 -1
  10. package/actors/dist/xstate-actors.cjs.js +395 -28
  11. package/actors/dist/xstate-actors.cjs.mjs +1 -3
  12. package/actors/dist/xstate-actors.development.cjs.js +395 -28
  13. package/actors/dist/xstate-actors.development.cjs.mjs +1 -3
  14. package/actors/dist/xstate-actors.development.esm.js +389 -21
  15. package/actors/dist/xstate-actors.esm.js +389 -21
  16. package/actors/dist/xstate-actors.umd.min.js +1 -1
  17. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  18. package/dist/declarations/src/StateNode.d.ts +3 -3
  19. package/dist/declarations/src/actions/assign.d.ts +9 -4
  20. package/dist/declarations/src/actions/cancel.d.ts +4 -4
  21. package/dist/declarations/src/actions/choose.d.ts +5 -4
  22. package/dist/declarations/src/actions/log.d.ts +4 -4
  23. package/dist/declarations/src/actions/pure.d.ts +6 -5
  24. package/dist/declarations/src/actions/raise.d.ts +2 -2
  25. package/dist/declarations/src/actions/send.d.ts +7 -7
  26. package/dist/declarations/src/actions/stop.d.ts +4 -4
  27. package/dist/declarations/src/actions.d.ts +8 -44
  28. package/dist/declarations/src/actors/callback.d.ts +2 -2
  29. package/dist/declarations/src/actors/index.d.ts +3 -5
  30. package/dist/declarations/src/constants.d.ts +1 -0
  31. package/dist/declarations/src/index.d.ts +9 -16
  32. package/dist/declarations/src/spawn.d.ts +25 -0
  33. package/dist/declarations/src/stateUtils.d.ts +1 -1
  34. package/dist/declarations/src/typegenTypes.d.ts +4 -4
  35. package/dist/declarations/src/types.d.ts +92 -122
  36. package/dist/declarations/src/utils.d.ts +2 -2
  37. package/dist/interpreter-498891b2.esm.js +741 -0
  38. package/dist/interpreter-6e7909c8.development.esm.js +749 -0
  39. package/dist/interpreter-c357bc50.cjs.js +773 -0
  40. package/dist/interpreter-e2c6a579.development.cjs.js +781 -0
  41. package/dist/{actions-9754d2ca.development.esm.js → raise-03e57569.cjs.js} +130 -1307
  42. package/dist/{actions-d1dba4ac.cjs.js → raise-59f2c242.esm.js} +65 -1267
  43. package/dist/{actions-020463e9.esm.js → raise-e778a828.development.esm.js} +109 -1203
  44. package/dist/{actions-ca622922.development.cjs.js → raise-f751dfac.development.cjs.js} +101 -1306
  45. package/dist/send-42c83fb2.development.esm.js +364 -0
  46. package/dist/send-51717e53.cjs.js +349 -0
  47. package/dist/send-f53778f6.development.cjs.js +374 -0
  48. package/dist/send-fff224db.esm.js +339 -0
  49. package/dist/xstate.cjs.js +114 -112
  50. package/dist/xstate.cjs.mjs +2 -2
  51. package/dist/xstate.development.cjs.js +114 -112
  52. package/dist/xstate.development.cjs.mjs +2 -2
  53. package/dist/xstate.development.esm.js +78 -74
  54. package/dist/xstate.esm.js +78 -74
  55. package/dist/xstate.umd.min.js +1 -1
  56. package/dist/xstate.umd.min.js.map +1 -1
  57. package/guards/dist/xstate-guards.cjs.js +2 -1
  58. package/guards/dist/xstate-guards.development.cjs.js +2 -1
  59. package/guards/dist/xstate-guards.development.esm.js +2 -1
  60. package/guards/dist/xstate-guards.esm.js +2 -1
  61. package/guards/dist/xstate-guards.umd.min.js.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/declarations/src/constantPrefixes.d.ts +0 -6
  64. package/dist/promise-2ad94e3b.development.esm.js +0 -406
  65. package/dist/promise-3b7e3357.development.cjs.js +0 -412
  66. package/dist/promise-5b07c38e.esm.js +0 -406
  67. package/dist/promise-7a8c1768.cjs.js +0 -412
@@ -1,12 +1,13 @@
1
- import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject, NoInfer } from "../types.js";
2
- export interface PureAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
3
- (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
1
+ import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject, NoInfer, ProvidedActor } from "../types.js";
2
+ export interface PureAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
3
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction, TEvent>): void;
4
4
  _out_TEvent?: TEvent;
5
+ _out_TActor?: TActor;
5
6
  _out_TAction?: TAction;
6
7
  _out_TGuard?: TGuard;
7
8
  _out_TDelay?: TDelay;
8
9
  }
9
- export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TEvent extends EventObject = TExpressionEvent, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string>(getActions: ({ context, event }: {
10
+ export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TEvent extends EventObject = TExpressionEvent, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string>(getActions: ({ context, event }: {
10
11
  context: TContext;
11
12
  event: TExpressionEvent;
12
- }) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined): PureAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TAction, TGuard, TDelay>;
13
+ }) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, TActor, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined): PureAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TActor, TAction, TGuard, TDelay>;
@@ -1,6 +1,6 @@
1
1
  import { ActionArgs, EventObject, MachineContext, NoInfer, RaiseActionOptions, SendExpr, ParameterizedObject } from "../types.js";
2
2
  export interface RaiseAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject, TDelay extends string> {
3
- (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
3
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction, TEvent>): void;
4
4
  _out_TEvent?: TEvent;
5
5
  _out_TDelay?: TDelay;
6
6
  }
@@ -10,4 +10,4 @@ export interface RaiseAction<TContext extends MachineContext, TExpressionEvent e
10
10
  *
11
11
  * @param eventType The event to raise.
12
12
  */
13
- export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TDelay extends string = string>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TDelay>>): RaiseAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TDelay>;
13
+ export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TDelay extends string = string>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>, TEvent>, options?: RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>, NoInfer<TDelay>>): RaiseAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TDelay>;
@@ -1,6 +1,6 @@
1
1
  import { ActionArgs, ActorRef, AnyActorRef, AnyEventObject, Cast, EventFrom, EventObject, InferEvent, MachineContext, SendExpr, SendToActionOptions, SendToActionParams, UnifiedArg, ParameterizedObject, NoInfer } from "../types.js";
2
- export interface SendToAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TDelay extends string> {
3
- (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
2
+ export interface SendToAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject, TDelay extends string> {
3
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction, TEvent>): void;
4
4
  _out_TDelay?: TDelay;
5
5
  }
6
6
  /**
@@ -12,22 +12,22 @@ export interface SendToAction<TContext extends MachineContext, TExpressionEvent
12
12
  * - `id` - The unique send event identifier (used with `cancel()`).
13
13
  * - `delay` - The number of milliseconds to delay the sending of the event.
14
14
  */
15
- export declare function sendTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends AnyActorRef, TDelay extends string>(to: TActor | string | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => TActor | string), eventOrExpr: EventFrom<TActor> | SendExpr<TContext, TExpressionEvent, TExpressionAction, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TDelay>>): SendToAction<TContext, TExpressionEvent, TExpressionAction, TDelay>;
15
+ export declare function sendTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TTargetActor extends AnyActorRef, TEvent extends EventObject, TDelay extends string>(to: TTargetActor | string | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction, TEvent>) => TTargetActor | string), eventOrExpr: EventFrom<TTargetActor> | SendExpr<TContext, TExpressionEvent, TExpressionAction, InferEvent<Cast<EventFrom<TTargetActor>, EventObject>>, TEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>, NoInfer<TDelay>>): SendToAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TDelay>;
16
16
  /**
17
17
  * Sends an event to this machine's parent.
18
18
  *
19
19
  * @param event The event to send to the parent machine.
20
20
  * @param options Options to pass into the send event.
21
21
  */
22
- export declare function sendParent<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject = AnyEventObject, TDelay extends string = string>(event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay>): SendToAction<TContext, TExpressionEvent, TExpressionAction, TDelay>;
23
- type Target<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = string | ActorRef<any, any> | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => string | ActorRef<any, any>);
22
+ export declare function sendParent<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject = AnyEventObject, TEvent extends EventObject = AnyEventObject, TDelay extends string = string>(event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent, TEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TEvent, TDelay>): SendToAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TDelay>;
23
+ type Target<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject> = string | ActorRef<any, any> | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction, TEvent>) => string | ActorRef<any, any>);
24
24
  /**
25
25
  * Forwards (sends) an event to a specified service.
26
26
  *
27
27
  * @param target The target service to forward the event to.
28
28
  * @param options Options to pass into the send action creator.
29
29
  */
30
- export declare function forwardTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TDelay extends string>(target: Target<TContext, TExpressionEvent, TExpressionAction>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay>): (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => void;
30
+ export declare function forwardTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject, TDelay extends string>(target: Target<TContext, TExpressionEvent, TExpressionAction, TEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TEvent, TDelay>): SendToAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TDelay>;
31
31
  /**
32
32
  * Escalates an error by sending it as an event to this machine's parent.
33
33
  *
@@ -35,5 +35,5 @@ export declare function forwardTo<TContext extends MachineContext, TExpressionEv
35
35
  * takes in the `context`, `event`, and `meta`, and returns the error data to send.
36
36
  * @param options Options to pass into the send action creator.
37
37
  */
38
- export declare function escalate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TErrorData = any>(errorData: TErrorData | ((args: UnifiedArg<TContext, TExpressionEvent>) => TErrorData), options?: SendToActionParams<TContext, TExpressionEvent, TExpressionAction, EventObject, string>): SendToAction<TContext, TExpressionEvent, TExpressionAction, string>;
38
+ export declare function escalate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TErrorData = any, TEvent extends EventObject = AnyEventObject>(errorData: TErrorData | ((args: UnifiedArg<TContext, TExpressionEvent, TEvent>) => TErrorData), options?: SendToActionParams<TContext, TExpressionEvent, TExpressionAction, EventObject, TEvent, string>): SendToAction<TContext, TExpressionEvent, TExpressionAction, TEvent, string>;
39
39
  export {};
@@ -1,12 +1,12 @@
1
1
  import { ActionArgs, ActorRef, EventObject, MachineContext, ParameterizedObject } from "../types.js";
2
- type ResolvableActorRef<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = string | ActorRef<any> | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => ActorRef<any> | string);
3
- export interface StopAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
4
- (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
2
+ type ResolvableActorRef<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject> = string | ActorRef<any, any> | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction, TEvent>) => ActorRef<any> | string);
3
+ export interface StopAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject> {
4
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction, TEvent>): void;
5
5
  }
6
6
  /**
7
7
  * Stops an actor.
8
8
  *
9
9
  * @param actorRef The actor to stop.
10
10
  */
11
- export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction>): StopAction<TContext, TExpressionEvent, TExpressionAction>;
11
+ export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction, TEvent>): StopAction<TContext, TExpressionEvent, TExpressionAction, TEvent>;
12
12
  export {};
@@ -1,44 +1,8 @@
1
- import { DoneEvent, ErrorPlatformEvent, DoneEventObject } from "./types.js";
2
- import * as constantPrefixes from "./constantPrefixes.js";
3
- export { sendTo, sendParent, forwardTo, escalate } from "./actions/send.js";
4
- export { stop } from "./actions/stop.js";
5
- export { log } from "./actions/log.js";
6
- export { cancel } from "./actions/cancel.js";
7
- export { assign } from "./actions/assign.js";
8
- export { raise } from "./actions/raise.js";
9
- export { choose } from "./actions/choose.js";
10
- export { pure } from "./actions/pure.js";
11
- export { constantPrefixes };
12
- /**
13
- * Returns an event type that represents an implicit event that
14
- * is sent after the specified `delay`.
15
- *
16
- * @param delayRef The delay in milliseconds
17
- * @param id The state node ID where this event is handled
18
- */
19
- export declare function after(delayRef: number | string, id?: string): string;
20
- /**
21
- * Returns an event that represents that a final state node
22
- * has been reached in the parent state node.
23
- *
24
- * @param id The final state node's parent state node `id`
25
- * @param output The data to pass into the event
26
- */
27
- export declare function done(id: string, output?: any): DoneEventObject;
28
- export declare function doneInvokeEventType<T extends string = string>(invokeId: T): `done.invoke.${T}`;
29
- /**
30
- * Returns an event that represents that an invoked service has terminated.
31
- *
32
- * An invoked service is terminated when it has reached a top-level final state node,
33
- * but not when it is canceled.
34
- *
35
- * @param invokeId The invoked service ID
36
- * @param output The data to pass into the event
37
- */
38
- export declare function doneInvoke(invokeId: string, output?: any): DoneEvent;
39
- export declare function errorEventType<T extends string = string>(id: T): `error.platform.${T}`;
40
- export declare function error(id: string, data?: any): ErrorPlatformEvent & string;
41
- export declare function createInitEvent(input: unknown): {
42
- readonly type: "xstate.init";
43
- readonly input: unknown;
44
- };
1
+ export { assign, type AssignAction, type AssignArgs } from "./actions/assign.js";
2
+ export { cancel, type CancelAction } from "./actions/cancel.js";
3
+ export { choose, type ChooseAction } from "./actions/choose.js";
4
+ export { log, type LogAction } from "./actions/log.js";
5
+ export { pure, type PureAction } from "./actions/pure.js";
6
+ export { raise, type RaiseAction } from "./actions/raise.js";
7
+ export { escalate, forwardTo, sendParent, sendTo, type SendToAction } from "./actions/send.js";
8
+ export { stop, type StopAction } from "./actions/stop.js";
@@ -2,7 +2,7 @@ import { ActorLogic, EventObject, AnyActorSystem, AnyEventObject, ActorSystem, A
2
2
  export interface CallbackInternalState<TEvent extends EventObject, TInput = unknown> {
3
3
  canceled: boolean;
4
4
  receivers: Set<(e: TEvent) => void>;
5
- dispose: void | (() => void) | Promise<any>;
5
+ dispose: (() => void) | void;
6
6
  input: TInput;
7
7
  }
8
8
  export type CallbackActorLogic<TEvent extends EventObject, TInput = unknown> = ActorLogic<TEvent, undefined, CallbackInternalState<TEvent, TInput>, Pick<CallbackInternalState<TEvent, TInput>, 'input' | 'canceled'>, ActorSystem<any>, TInput, any>;
@@ -16,5 +16,5 @@ export type InvokeCallback<TEvent extends EventObject = AnyEventObject, TSentEve
16
16
  self: CallbackActorRef<TEvent>;
17
17
  sendBack: (event: TSentEvent) => void;
18
18
  receive: Receiver<TEvent>;
19
- }) => (() => void) | Promise<any> | void;
19
+ }) => (() => void) | void;
20
20
  export declare function fromCallback<TEvent extends EventObject, TInput>(invokeCallback: InvokeCallback<TEvent, AnyEventObject, TInput>): CallbackActorLogic<TEvent, TInput>;
@@ -1,8 +1,6 @@
1
- import type { ActorRef, AnyEventObject, BaseActorRef, EventObject } from "../types.js";
1
+ import type { ActorRef, AnyEventObject } from "../types.js";
2
2
  export { fromCallback, type CallbackActorLogic } from "./callback.js";
3
- export { fromEventObservable, fromObservable } from "./observable.js";
3
+ export { fromEventObservable, fromObservable, type ObservableActorLogic } from "./observable.js";
4
4
  export { fromPromise, type PromiseActorLogic } from "./promise.js";
5
- export { fromTransition } from "./transition.js";
6
- export declare function isActorRef(item: any): item is ActorRef<any>;
7
- export declare function toActorRef<TEvent extends EventObject, TSnapshot = any, TActorRefLike extends BaseActorRef<TEvent> = BaseActorRef<TEvent>>(actorRefLike: TActorRefLike): ActorRef<TEvent, TSnapshot> & Omit<TActorRefLike, keyof ActorRef<any, any>>;
5
+ export { fromTransition, type TransitionActorLogic } from "./transition.js";
8
6
  export declare function createEmptyActor(): ActorRef<AnyEventObject, undefined>;
@@ -4,4 +4,5 @@ export declare const NULL_EVENT = "";
4
4
  export declare const STATE_IDENTIFIER = "#";
5
5
  export declare const WILDCARD = "*";
6
6
  export declare const XSTATE_INIT = "xstate.init";
7
+ export declare const XSTATE_ERROR = "xstate.error";
7
8
  export declare const XSTATE_STOP = "xstate.stop";
@@ -1,26 +1,19 @@
1
- import { doneInvoke } from "./actions.js";
2
- import { Actor, ActorStatus, createActor, interpret, Interpreter, InterpreterStatus } from "./interpreter.js";
3
- import { createMachine } from "./Machine.js";
4
- import { mapState } from "./mapState.js";
5
- import { State } from "./State.js";
6
- import { StateNode } from "./StateNode.js";
7
- export { assign, type AssignAction } from "./actions/assign.js";
8
- export { cancel, type CancelAction } from "./actions/cancel.js";
9
- export { choose, type ChooseAction } from "./actions/choose.js";
10
- export { log, type LogAction } from "./actions/log.js";
11
- export { pure, type PureAction } from "./actions/pure.js";
12
- export { raise, type RaiseAction } from "./actions/raise.js";
13
- export { forwardTo, sendParent, sendTo, type SendToAction } from "./actions/send.js";
14
- export { stop, type StopAction } from "./actions/stop.js";
1
+ export * from "./actions.js";
2
+ export * from "./actors/index.js";
15
3
  export { SimulatedClock } from "./SimulatedClock.js";
4
+ export { type Spawner } from "./spawn.js";
16
5
  export { StateMachine } from "./StateMachine.js";
17
6
  export { getStateNodes } from "./stateUtils.js";
18
7
  export * from "./typegenTypes.js";
19
8
  export * from "./types.js";
20
9
  export { waitFor } from "./waitFor.js";
21
- export { fromCallback, fromEventObservable, fromObservable, fromPromise, fromTransition } from "./actors/index.js";
10
+ import { Actor, ActorStatus, createActor, interpret, Interpreter, InterpreterStatus } from "./interpreter.js";
11
+ import { createMachine } from "./Machine.js";
12
+ import { mapState } from "./mapState.js";
13
+ import { State } from "./State.js";
14
+ import { StateNode } from "./StateNode.js";
22
15
  export { matchesState, pathToStateValue, toObserver } from "./utils.js";
23
- export { Actor, ActorStatus, createActor, createMachine, doneInvoke, interpret, InterpreterStatus, mapState, State, StateNode, type Interpreter };
16
+ export { Actor, ActorStatus, createActor, createMachine, interpret, InterpreterStatus, mapState, State, StateNode, type Interpreter };
24
17
  export { and, not, or, stateIn } from "./guards.js";
25
18
  declare global {
26
19
  interface SymbolConstructor {
@@ -0,0 +1,25 @@
1
+ import { ActorRefFrom, AnyActorContext, AnyActorLogic, AnyActorRef, AnyEventObject, AnyState, InputFrom, IsLiteralString, ProvidedActor } from "./types.js";
2
+ type SpawnOptions<TActor extends ProvidedActor, TSrc extends TActor['src']> = TActor extends {
3
+ src: TSrc;
4
+ } ? 'id' extends keyof TActor ? [
5
+ options: {
6
+ id: TActor['id'];
7
+ systemId?: string;
8
+ input?: InputFrom<TActor['logic']>;
9
+ }
10
+ ] : [
11
+ options?: {
12
+ id?: string;
13
+ systemId?: string;
14
+ input?: InputFrom<TActor['logic']>;
15
+ }
16
+ ] : never;
17
+ export type Spawner<TActor extends ProvidedActor> = IsLiteralString<TActor['src']> extends true ? <TSrc extends TActor['src']>(logic: TSrc, ...[options]: SpawnOptions<TActor, TSrc>) => ActorRefFrom<(TActor & {
18
+ src: TSrc;
19
+ })['logic']> : <TLogic extends AnyActorLogic | string>(src: TLogic, options?: {
20
+ id?: string;
21
+ systemId?: string;
22
+ input?: unknown;
23
+ }) => TLogic extends string ? AnyActorRef : ActorRefFrom<TLogic>;
24
+ export declare function createSpawner(actorContext: AnyActorContext, { machine, context }: AnyState, event: AnyEventObject, spawnedChildren: Record<string, AnyActorRef>): Spawner<any>;
25
+ export {};
@@ -17,7 +17,7 @@ export declare function getCandidates<TEvent extends EventObject>(stateNode: Sta
17
17
  export declare function getDelayedTransitions(stateNode: AnyStateNode): Array<DelayedTransitionDefinition<MachineContext, EventObject>>;
18
18
  export declare function formatTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, descriptor: string, transitionConfig: AnyTransitionConfig): AnyTransitionDefinition;
19
19
  export declare function formatTransitions<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode): Map<string, TransitionDefinition<TContext, TEvent>[]>;
20
- export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: SingleOrArray<string> | InitialTransitionConfig<TContext, TEvent, TODO, TODO, TODO>): InitialTransitionDefinition<TContext, TEvent>;
20
+ export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: SingleOrArray<string> | InitialTransitionConfig<TContext, TEvent, TODO, TODO, TODO, TODO>): InitialTransitionDefinition<TContext, TEvent>;
21
21
  export declare function resolveTarget(stateNode: AnyStateNode, targets: ReadonlyArray<string | AnyStateNode> | undefined): ReadonlyArray<AnyStateNode> | undefined;
22
22
  export declare function getInitialStateNodes(stateNode: AnyStateNode): Array<AnyStateNode>;
23
23
  /**
@@ -27,9 +27,9 @@ export interface TypegenMeta extends TypegenEnabled {
27
27
  /**
28
28
  * A map for the internal events of the machine.
29
29
  *
30
- * key: 'done.invoke.myActor'
30
+ * key: 'xstate.done.actor.myActor'
31
31
  * value: {
32
- * type: 'done.invoke.myActor';
32
+ * type: 'xstate.done.actor.myActor';
33
33
  * data: unknown;
34
34
  * __tip: 'Declare the type in event types!';
35
35
  * }
@@ -39,7 +39,7 @@ export interface TypegenMeta extends TypegenEnabled {
39
39
  * Maps the src of the invoked actor to the event type that includes its known id
40
40
  *
41
41
  * key: 'invokeSrc'
42
- * value: 'done.invoke.invokeName'
42
+ * value: 'xstate.done.actor.invokeName'
43
43
  */
44
44
  invokeSrcNameMap: Record<string, string>;
45
45
  /**
@@ -107,7 +107,7 @@ export interface MarkAllImplementationsAsProvided<TResolvedTypesMeta> {
107
107
  resolved: Prop<TResolvedTypesMeta, 'resolved'> & AllImplementationsProvided;
108
108
  }
109
109
  type GenerateActorEvents<TActor extends ProvidedActor, TInvokeSrcNameMap> = string extends TActor['src'] ? never : TActor extends any ? {
110
- type: TActor['id'] extends string ? `done.invoke.${TActor['id']}` : TActor['src'] extends keyof TInvokeSrcNameMap ? `done.invoke.${TInvokeSrcNameMap[TActor['src']] & string}` : `done.invoke.${string}`;
110
+ type: TActor['id'] extends string ? `xstate.done.actor.${TActor['id']}` : TActor['src'] extends keyof TInvokeSrcNameMap ? `xstate.done.actor.${TInvokeSrcNameMap[TActor['src']] & string}` : `xstate.done.actor.${string}`;
111
111
  output: OutputFrom<TActor['logic']>;
112
112
  } : never;
113
113
  type MergeWithInternalEvents<TIndexedEvents, TInternalEvents> = TIndexedEvents & Pick<TInternalEvents, Exclude<keyof TInternalEvents, keyof TIndexedEvents>>;