xstate 5.0.0-beta.26 → 5.0.0-beta.27

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 (57) hide show
  1. package/actions/dist/xstate-actions.cjs.js +20 -18
  2. package/actions/dist/xstate-actions.cjs.mjs +2 -0
  3. package/actions/dist/xstate-actions.development.cjs.js +20 -18
  4. package/actions/dist/xstate-actions.development.cjs.mjs +2 -0
  5. package/actions/dist/xstate-actions.development.esm.js +1 -1
  6. package/actions/dist/xstate-actions.esm.js +1 -1
  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 +37 -14
  10. package/actors/dist/xstate-actors.cjs.mjs +0 -5
  11. package/actors/dist/xstate-actors.development.cjs.js +37 -14
  12. package/actors/dist/xstate-actors.development.cjs.mjs +0 -5
  13. package/actors/dist/xstate-actors.development.esm.js +34 -1
  14. package/actors/dist/xstate-actors.esm.js +34 -1
  15. package/actors/dist/xstate-actors.umd.min.js +1 -1
  16. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  17. package/dist/{actions-5943a9db.esm.js → actions-020463e9.esm.js} +76 -532
  18. package/dist/{actions-cf69419d.development.esm.js → actions-9754d2ca.development.esm.js} +76 -532
  19. package/dist/{actions-0971b43d.development.cjs.js → actions-ca622922.development.cjs.js} +81 -546
  20. package/dist/{actions-319cefe7.cjs.js → actions-d1dba4ac.cjs.js} +81 -546
  21. package/dist/declarations/src/Machine.d.ts +4 -3
  22. package/dist/declarations/src/State.d.ts +1 -1
  23. package/dist/declarations/src/StateNode.d.ts +0 -9
  24. package/dist/declarations/src/actions/assign.d.ts +6 -11
  25. package/dist/declarations/src/actions/cancel.d.ts +5 -12
  26. package/dist/declarations/src/actions/choose.d.ts +7 -6
  27. package/dist/declarations/src/actions/log.d.ts +5 -20
  28. package/dist/declarations/src/actions/pure.d.ts +9 -8
  29. package/dist/declarations/src/actions/raise.d.ts +6 -5
  30. package/dist/declarations/src/actions/send.d.ts +7 -12
  31. package/dist/declarations/src/actions/stop.d.ts +5 -12
  32. package/dist/declarations/src/actions.d.ts +2 -0
  33. package/dist/declarations/src/actors/index.d.ts +0 -20
  34. package/dist/declarations/src/actors/promise.d.ts +2 -1
  35. package/dist/declarations/src/constants.d.ts +7 -0
  36. package/dist/declarations/src/guards.d.ts +2 -2
  37. package/dist/declarations/src/index.d.ts +14 -14
  38. package/dist/declarations/src/typegenTypes.d.ts +1 -1
  39. package/dist/declarations/src/types.d.ts +10 -15
  40. package/dist/declarations/src/utils.d.ts +1 -2
  41. package/dist/promise-2ad94e3b.development.esm.js +406 -0
  42. package/dist/promise-3b7e3357.development.cjs.js +412 -0
  43. package/dist/promise-5b07c38e.esm.js +406 -0
  44. package/dist/promise-7a8c1768.cjs.js +412 -0
  45. package/dist/xstate.cjs.js +78 -102
  46. package/dist/xstate.development.cjs.js +78 -102
  47. package/dist/xstate.development.esm.js +6 -30
  48. package/dist/xstate.esm.js +6 -30
  49. package/dist/xstate.umd.min.js +1 -1
  50. package/dist/xstate.umd.min.js.map +1 -1
  51. package/guards/dist/xstate-guards.cjs.js +6 -6
  52. package/guards/dist/xstate-guards.development.cjs.js +6 -6
  53. package/guards/dist/xstate-guards.development.esm.js +1 -1
  54. package/guards/dist/xstate-guards.esm.js +1 -1
  55. package/guards/dist/xstate-guards.umd.min.js +1 -1
  56. package/guards/dist/xstate-guards.umd.min.js.map +1 -1
  57. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
- import { MachineConfig, EventObject, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, AnyEventObject, NonReducibleUnknown, Prop } from "./types.js";
2
- import { TypegenConstraint, TypegenDisabled, ResolveTypegenMeta } from "./typegenTypes.js";
1
+ import { MachineConfig, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, NonReducibleUnknown, Prop, AnyEventObject } from "./types.js";
2
+ import { TypegenConstraint, ResolveTypegenMeta } from "./typegenTypes.js";
3
3
  import { StateMachine } from "./StateMachine.js";
4
- export declare function createMachine<TContext extends MachineContext, TEvent extends EventObject = AnyEventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TInput = any, TOutput = NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, 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>>;
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>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, 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>>;
@@ -58,7 +58,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
58
58
  * @param delimiter The character(s) that separate each subpath in the string state node path.
59
59
  */
60
60
  toStrings(stateValue?: StateValue): string[];
61
- toJSON(): Omit<this, "meta" | "configuration" | "tags" | "machine" | "toStrings" | "toJSON" | "matches" | "hasTag" | "can" | "nextEvents"> & {
61
+ toJSON(): Omit<this, "toJSON" | "meta" | "tags" | "configuration" | "machine" | "toStrings" | "matches" | "hasTag" | "can" | "nextEvents"> & {
62
62
  tags: string[];
63
63
  meta: Record<string, any>;
64
64
  };
@@ -114,15 +114,6 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
114
114
  get after(): Array<DelayedTransitionDefinition<TContext, TEvent>>;
115
115
  get initial(): InitialTransitionDefinition<TContext, TEvent>;
116
116
  next(state: State<TContext, TEvent, TODO, TODO, TODO, TODO>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
117
- /**
118
- * The target state value of the history state node, if it exists. This represents the
119
- * default state value to transition to if no history value exists yet.
120
- */
121
- get target(): string | undefined;
122
- /**
123
- * All the state node IDs of this state node and its descendant state nodes.
124
- */
125
- get stateIds(): string[];
126
117
  /**
127
118
  * All the event types accepted by this state node and its descendants.
128
119
  */
@@ -1,16 +1,11 @@
1
- import type { ActionArgs, AnyActorContext, AnyState, Assigner, EventObject, LowInfer, MachineContext, ParameterizedObject, PropertyAssigner } from "../types.js";
2
- declare function resolve(actorContext: AnyActorContext, state: AnyState, actionArgs: ActionArgs<any, any, any>, { assignment }: {
3
- assignment: Assigner<any, any, any> | PropertyAssigner<any, any, any>;
4
- }): AnyState[];
1
+ import type { ActionArgs, AnyEventObject, Assigner, EventObject, LowInfer, MachineContext, ParameterizedObject, PropertyAssigner } from "../types.js";
2
+ export interface AssignAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
3
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
4
+ }
5
5
  /**
6
6
  * Updates the current context of the machine.
7
7
  *
8
8
  * @param assignment An object that represents the partial context to update.
9
9
  */
10
- export declare function assign<TContext extends MachineContext, TExpressionEvent extends EventObject = EventObject, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined>(assignment: Assigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction>): {
11
- (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
12
- type: string;
13
- assignment: Assigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction>;
14
- resolve: typeof resolve;
15
- };
16
- export {};
10
+ export declare function assign<TContext extends MachineContext, TExpressionEvent extends AnyEventObject = AnyEventObject, // TODO: consider using a stricter `EventObject` here
11
+ TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined>(assignment: Assigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction>): AssignAction<TContext, TExpressionEvent, TExpressionAction>;
@@ -1,9 +1,8 @@
1
- import { AnyActorContext, AnyState, EventObject, MachineContext, ActionArgs, ParameterizedObject } from "../types.js";
1
+ import { EventObject, MachineContext, ActionArgs, ParameterizedObject } from "../types.js";
2
2
  type ResolvableSendId<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = string | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => string);
3
- declare function resolve(_: AnyActorContext, state: AnyState, actionArgs: ActionArgs<any, any, any>, { sendId }: {
4
- sendId: ResolvableSendId<any, any, any>;
5
- }): (string | AnyState)[];
6
- declare function execute(actorContext: AnyActorContext, resolvedSendId: string): void;
3
+ export interface CancelAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
4
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
5
+ }
7
6
  /**
8
7
  * Cancels an in-flight `send(...)` action. A canceled sent action will not
9
8
  * be executed, nor will its event be sent, unless it has already been sent
@@ -11,11 +10,5 @@ declare function execute(actorContext: AnyActorContext, resolvedSendId: string):
11
10
  *
12
11
  * @param sendId The `id` of the `send(...)` action to cancel.
13
12
  */
14
- export declare function cancel<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(sendId: ResolvableSendId<TContext, TExpressionEvent, TExpressionAction>): {
15
- (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
16
- type: string;
17
- sendId: ResolvableSendId<TContext, TExpressionEvent, TExpressionAction>;
18
- resolve: typeof resolve;
19
- execute: typeof execute;
20
- };
13
+ export declare function cancel<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(sendId: ResolvableSendId<TContext, TExpressionEvent, TExpressionAction>): CancelAction<TContext, TExpressionEvent, TExpressionAction>;
21
14
  export {};
@@ -1,7 +1,8 @@
1
1
  import { EventObject, ChooseBranch, MachineContext, ActionArgs, ParameterizedObject, NoInfer } from "../types.js";
2
- export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, NoInfer<TAction>, NoInfer<TGuard>, TDelay>>): {
3
- (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
4
- _out_TAction?: TAction | undefined;
5
- _out_TGuard?: TGuard | undefined;
6
- _out_TDelay?: TDelay | undefined;
7
- };
2
+ export interface ChooseAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
3
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
4
+ _out_TAction?: TAction;
5
+ _out_TGuard?: TGuard;
6
+ _out_TDelay?: TDelay;
7
+ }
8
+ export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, NoInfer<TAction>, NoInfer<TGuard>, TDelay>>): ChooseAction<TContext, TExpressionEvent, TExpressionAction, TAction, TGuard, TDelay>;
@@ -1,16 +1,8 @@
1
- import { ActionArgs, AnyActorContext, AnyState, EventObject, LogExpr, MachineContext, ParameterizedObject } from "../types.js";
1
+ import { ActionArgs, EventObject, LogExpr, MachineContext, ParameterizedObject } from "../types.js";
2
2
  type ResolvableLogValue<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = string | LogExpr<TContext, TExpressionEvent, TExpressionAction>;
3
- declare function resolve(_: AnyActorContext, state: AnyState, actionArgs: ActionArgs<any, any, any>, { value, label }: {
4
- value: ResolvableLogValue<any, any, any>;
5
- label: string | undefined;
6
- }): (AnyState | {
7
- value: unknown;
8
- label: string | undefined;
9
- })[];
10
- declare function execute({ logger }: AnyActorContext, { value, label }: {
11
- value: unknown;
12
- label: string | undefined;
13
- }): void;
3
+ export interface LogAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
4
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
5
+ }
14
6
  /**
15
7
  *
16
8
  * @param expr The expression function to evaluate which will be logged.
@@ -19,12 +11,5 @@ declare function execute({ logger }: AnyActorContext, { value, label }: {
19
11
  * - `event` - the event that caused this action to be executed.
20
12
  * @param label The label to give to the logged expression.
21
13
  */
22
- export declare function log<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(value?: ResolvableLogValue<TContext, TExpressionEvent, TExpressionAction>, label?: string): {
23
- (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
24
- type: string;
25
- value: ResolvableLogValue<TContext, TExpressionEvent, TExpressionAction>;
26
- label: string | undefined;
27
- resolve: typeof resolve;
28
- execute: typeof execute;
29
- };
14
+ export declare function log<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(value?: ResolvableLogValue<TContext, TExpressionEvent, TExpressionAction>, label?: string): LogAction<TContext, TExpressionEvent, TExpressionAction>;
30
15
  export {};
@@ -1,11 +1,12 @@
1
1
  import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject, NoInfer } from "../types.js";
2
- export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string>(getActions: ({ context, event }: {
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;
4
+ _out_TEvent?: TEvent;
5
+ _out_TAction?: TAction;
6
+ _out_TGuard?: TGuard;
7
+ _out_TDelay?: TDelay;
8
+ }
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 }: {
3
10
  context: TContext;
4
11
  event: TExpressionEvent;
5
- }) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined): {
6
- (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
7
- _out_TEvent?: TEvent | undefined;
8
- _out_TAction?: TAction | undefined;
9
- _out_TGuard?: TGuard | undefined;
10
- _out_TDelay?: TDelay | undefined;
11
- };
12
+ }) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined): PureAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TAction, TGuard, TDelay>;
@@ -1,12 +1,13 @@
1
1
  import { ActionArgs, EventObject, MachineContext, NoInfer, RaiseActionOptions, SendExpr, ParameterizedObject } from "../types.js";
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;
4
+ _out_TEvent?: TEvent;
5
+ _out_TDelay?: TDelay;
6
+ }
2
7
  /**
3
8
  * Raises an event. This places the event in the internal event queue, so that
4
9
  * the event is immediately consumed by the machine in the current step.
5
10
  *
6
11
  * @param eventType The event to raise.
7
12
  */
8
- 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>>): {
9
- (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
10
- _out_TEvent?: TEvent | undefined;
11
- _out_TDelay?: TDelay | undefined;
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>;
@@ -1,4 +1,8 @@
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;
4
+ _out_TDelay?: TDelay;
5
+ }
2
6
  /**
3
7
  * Sends an event to an actor.
4
8
  *
@@ -8,20 +12,14 @@ import { ActionArgs, ActorRef, AnyActorRef, AnyEventObject, Cast, EventFrom, Eve
8
12
  * - `id` - The unique send event identifier (used with `cancel()`).
9
13
  * - `delay` - The number of milliseconds to delay the sending of the event.
10
14
  */
11
- 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>>): {
12
- (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
13
- _out_TDelay?: TDelay | undefined;
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
16
  /**
16
17
  * Sends an event to this machine's parent.
17
18
  *
18
19
  * @param event The event to send to the parent machine.
19
20
  * @param options Options to pass into the send event.
20
21
  */
21
- 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>): {
22
- (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
23
- _out_TDelay?: TDelay | undefined;
24
- };
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>;
25
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>);
26
24
  /**
27
25
  * Forwards (sends) an event to a specified service.
@@ -37,8 +35,5 @@ export declare function forwardTo<TContext extends MachineContext, TExpressionEv
37
35
  * takes in the `context`, `event`, and `meta`, and returns the error data to send.
38
36
  * @param options Options to pass into the send action creator.
39
37
  */
40
- 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>): {
41
- (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
42
- _out_TDelay?: string | undefined;
43
- };
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>;
44
39
  export {};
@@ -1,19 +1,12 @@
1
- import { ActionArgs, ActorRef, AnyActorContext, AnyState, EventObject, MachineContext, ParameterizedObject } from "../types.js";
1
+ import { ActionArgs, ActorRef, EventObject, MachineContext, ParameterizedObject } from "../types.js";
2
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
- declare function resolve(_: AnyActorContext, state: AnyState, args: ActionArgs<any, any, any>, { actorRef }: {
4
- actorRef: ResolvableActorRef<any, any, any>;
5
- }): (AnyState | ActorRef<any, any>)[];
6
- declare function execute(actorContext: AnyActorContext, actorRef: ActorRef<any, any> | undefined): void;
3
+ export interface StopAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
4
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
5
+ }
7
6
  /**
8
7
  * Stops an actor.
9
8
  *
10
9
  * @param actorRef The actor to stop.
11
10
  */
12
- export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction>): {
13
- (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
14
- type: string;
15
- actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction>;
16
- resolve: typeof resolve;
17
- execute: typeof execute;
18
- };
11
+ export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction>): StopAction<TContext, TExpressionEvent, TExpressionAction>;
19
12
  export {};
@@ -25,6 +25,7 @@ export declare function after(delayRef: number | string, id?: string): string;
25
25
  * @param output The data to pass into the event
26
26
  */
27
27
  export declare function done(id: string, output?: any): DoneEventObject;
28
+ export declare function doneInvokeEventType<T extends string = string>(invokeId: T): `done.invoke.${T}`;
28
29
  /**
29
30
  * Returns an event that represents that an invoked service has terminated.
30
31
  *
@@ -35,6 +36,7 @@ export declare function done(id: string, output?: any): DoneEventObject;
35
36
  * @param output The data to pass into the event
36
37
  */
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}`;
38
40
  export declare function error(id: string, data?: any): ErrorPlatformEvent & string;
39
41
  export declare function createInitEvent(input: unknown): {
40
42
  readonly type: "xstate.init";
@@ -3,26 +3,6 @@ export { fromCallback, type CallbackActorLogic } from "./callback.js";
3
3
  export { fromEventObservable, fromObservable } from "./observable.js";
4
4
  export { fromPromise, type PromiseActorLogic } from "./promise.js";
5
5
  export { fromTransition } from "./transition.js";
6
- export declare const startSignalType = "xstate.init";
7
- export declare const stopSignalType = "xstate.stop";
8
- export declare const startSignal: StartSignal;
9
- export declare const stopSignal: StopSignal;
10
- export interface StartSignal {
11
- type: 'xstate.init';
12
- }
13
- export interface StopSignal {
14
- type: 'xstate.stop';
15
- }
16
- export type LifecycleSignal = StartSignal | StopSignal;
17
- export type LifecycleSignalType = typeof startSignalType | typeof stopSignalType;
18
- /**
19
- * An object that expresses the actor logic in reaction to received events,
20
- * as well as an optionally emitted stream of values.
21
- *
22
- * @template TReceived The received event
23
- * @template TSnapshot The emitted value
24
- */
25
- export declare function isSignal(event: EventObject): event is LifecycleSignal;
26
6
  export declare function isActorRef(item: any): item is ActorRef<any>;
27
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>>;
28
8
  export declare function createEmptyActor(): ActorRef<AnyEventObject, undefined>;
@@ -1,4 +1,5 @@
1
1
  import { ActorLogic, ActorRefFrom, ActorSystem, AnyActorSystem } from "../types.js";
2
+ import { XSTATE_STOP } from "../constants.js";
2
3
  export interface PromiseInternalState<T, TInput = unknown> {
3
4
  status: 'active' | 'error' | 'done' | 'canceled';
4
5
  data: T | undefined;
@@ -13,7 +14,7 @@ export type PromiseActorEvents<T> = {
13
14
  type: typeof rejectEventType;
14
15
  data: any;
15
16
  } | {
16
- type: 'xstate.stop';
17
+ type: typeof XSTATE_STOP;
17
18
  };
18
19
  export type PromiseActorLogic<T, TInput = unknown> = ActorLogic<{
19
20
  type: string;
@@ -0,0 +1,7 @@
1
+ export declare const STATE_DELIMITER = ".";
2
+ export declare const TARGETLESS_KEY = "";
3
+ export declare const NULL_EVENT = "";
4
+ export declare const STATE_IDENTIFIER = "#";
5
+ export declare const WILDCARD = "*";
6
+ export declare const XSTATE_INIT = "xstate.init";
7
+ export declare const XSTATE_STOP = "xstate.stop";
@@ -1,4 +1,4 @@
1
- import type { EventObject, StateValue, MachineContext, ParameterizedObject, AnyState, NoRequiredParams, NoInfer } from "./types.js";
1
+ import type { EventObject, StateValue, MachineContext, ParameterizedObject, AnyState, NoRequiredParams, NoInfer, WithDynamicParams } from "./types.js";
2
2
  export type GuardPredicate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject> = {
3
3
  (args: GuardArgs<TContext, TExpressionEvent, TExpressionGuard>): boolean;
4
4
  _out_TGuard?: TGuard;
@@ -8,7 +8,7 @@ export interface GuardArgs<TContext extends MachineContext, TExpressionEvent ext
8
8
  event: TExpressionEvent;
9
9
  guard: TExpressionGuard;
10
10
  }
11
- export type Guard<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject> = NoRequiredParams<TGuard> | TGuard | GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
11
+ export type Guard<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject> = NoRequiredParams<TGuard> | WithDynamicParams<TContext, TExpressionEvent, TGuard> | GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
12
12
  export type UnknownGuard = UnknownReferencedGuard | UnknownInlineGuard;
13
13
  type UnknownReferencedGuard = Guard<MachineContext, EventObject, ParameterizedObject, ParameterizedObject>;
14
14
  type UnknownInlineGuard = Guard<MachineContext, EventObject, undefined, ParameterizedObject>;
@@ -1,27 +1,27 @@
1
- import { doneInvoke, forwardTo, sendParent, sendTo } from "./actions.js";
2
- export { assign } from "./actions/assign.js";
3
- export { cancel } from "./actions/cancel.js";
4
- export { choose } from "./actions/choose.js";
5
- export { log } from "./actions/log.js";
6
- export { pure } from "./actions/pure.js";
7
- export { raise } from "./actions/raise.js";
8
- export { stop } from "./actions/stop.js";
9
- import { createActor, interpret, Actor, ActorStatus, InterpreterStatus, Interpreter } from "./interpreter.js";
1
+ import { doneInvoke } from "./actions.js";
2
+ import { Actor, ActorStatus, createActor, interpret, Interpreter, InterpreterStatus } from "./interpreter.js";
10
3
  import { createMachine } from "./Machine.js";
11
4
  import { mapState } from "./mapState.js";
12
5
  import { State } from "./State.js";
13
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";
14
15
  export { SimulatedClock } from "./SimulatedClock.js";
15
16
  export { StateMachine } from "./StateMachine.js";
16
17
  export { getStateNodes } from "./stateUtils.js";
17
- export { waitFor } from "./waitFor.js";
18
18
  export * from "./typegenTypes.js";
19
19
  export * from "./types.js";
20
+ export { waitFor } from "./waitFor.js";
21
+ export { fromCallback, fromEventObservable, fromObservable, fromPromise, fromTransition } from "./actors/index.js";
20
22
  export { matchesState, pathToStateValue, toObserver } from "./utils.js";
21
- export { StateNode, State, mapState, sendTo, sendParent, forwardTo, createActor, interpret, // deprecated
22
- Actor, type Interpreter, ActorStatus, InterpreterStatus, doneInvoke, createMachine };
23
- export { fromPromise, fromObservable, fromCallback, fromEventObservable, fromTransition } from "./actors/index.js";
24
- export { stateIn, not, and, or } from "./guards.js";
23
+ export { Actor, ActorStatus, createActor, createMachine, doneInvoke, interpret, InterpreterStatus, mapState, State, StateNode, type Interpreter };
24
+ export { and, not, or, stateIn } from "./guards.js";
25
25
  declare global {
26
26
  interface SymbolConstructor {
27
27
  readonly observable: symbol;
@@ -143,6 +143,6 @@ export interface ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent
143
143
  invokeSrcNameMap: Record<string, string>;
144
144
  tags: TTag;
145
145
  };
146
- }[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta extends TypegenEnabled ? 'enabled' : 'disabled'];
146
+ }[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta['@@xstate/typegen'] extends true ? 'enabled' : 'disabled'];
147
147
  }
148
148
  export {};
@@ -91,7 +91,15 @@ export interface ChooseBranch<TContext extends MachineContext, TExpressionEvent
91
91
  export type NoRequiredParams<T extends ParameterizedObject> = T extends any ? {
92
92
  type: T['type'];
93
93
  } extends T ? T['type'] : never : never;
94
- export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = NoRequiredParams<TAction> | TAction | ActionFunction<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction, TGuard, TDelay>;
94
+ type ConditionalRequired<T, Condition extends boolean> = Condition extends true ? Required<T> : T;
95
+ export type WithDynamicParams<TContext extends MachineContext, TExpressionEvent extends EventObject, T extends ParameterizedObject> = T extends any ? ConditionalRequired<{
96
+ type: T['type'];
97
+ params?: T['params'] | (({ context, event }: {
98
+ context: TContext;
99
+ event: TExpressionEvent;
100
+ }) => T['params']);
101
+ }, undefined extends T['params'] ? false : true> : never;
102
+ export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = NoRequiredParams<TAction> | WithDynamicParams<TContext, TExpressionEvent, TAction> | ActionFunction<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction, TGuard, TDelay>;
95
103
  export type UnknownAction = Action<MachineContext, EventObject, EventObject, ParameterizedObject | undefined, ParameterizedObject, ParameterizedObject, string>;
96
104
  export type Actions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = SingleOrArray<Action<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction, TGuard, TDelay>>;
97
105
  export type StateKey = string | AnyState;
@@ -118,10 +126,6 @@ export interface InitialTransitionConfig<TContext extends MachineContext, TEvent
118
126
  target: TransitionTarget;
119
127
  }
120
128
  export type AnyTransitionConfig = TransitionConfig<any, any, any, any, any, any>;
121
- export interface InvokeMeta {
122
- src: string;
123
- meta: MetaObject | undefined;
124
- }
125
129
  export interface InvokeDefinition<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
126
130
  id: string;
127
131
  systemId: string | undefined;
@@ -140,7 +144,6 @@ export interface InvokeDefinition<TContext extends MachineContext, TEvent extend
140
144
  onError?: string | SingleOrArray<TransitionConfig<TContext, ErrorEvent<any>, ErrorEvent<any>, TAction, TGuard, TDelay>>;
141
145
  onSnapshot?: string | SingleOrArray<TransitionConfig<TContext, SnapshotEvent<any>, SnapshotEvent<any>, TAction, TGuard, TDelay>>;
142
146
  toJSON: () => Omit<InvokeDefinition<TContext, TEvent, TAction, TGuard, TDelay>, 'onDone' | 'onError' | 'toJSON'>;
143
- meta: MetaObject | undefined;
144
147
  }
145
148
  type Delay<TDelay extends string> = TDelay | number;
146
149
  export type DelayedTransitions<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
@@ -186,10 +189,6 @@ type DistributeActors<TContext extends MachineContext, TEvent extends EventObjec
186
189
  */
187
190
  onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorEvent<any>, TEvent, TAction, TGuard, TDelay>>;
188
191
  onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, TEvent, TAction, TGuard, TDelay>>;
189
- /**
190
- * Meta data related to this invocation
191
- */
192
- meta?: MetaObject;
193
192
  } & (TActor['id'] extends string ? {
194
193
  /**
195
194
  * The unique identifier for the invoked machine. If not specified, this
@@ -224,10 +223,6 @@ export type InvokeConfig<TContext extends MachineContext, TEvent extends EventOb
224
223
  */
225
224
  onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorEvent<any>, TEvent, TAction, TGuard, TDelay>>;
226
225
  onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, TEvent, TAction, TGuard, TDelay>>;
227
- /**
228
- * Meta data related to this invocation
229
- */
230
- meta?: MetaObject;
231
226
  };
232
227
  export type AnyInvokeConfig = InvokeConfig<any, any, any, any, any, any>;
233
228
  export interface StateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TOutput> {
@@ -258,7 +253,7 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
258
253
  /**
259
254
  * The services to invoke upon entering this state node. These services will be stopped upon exiting this state node.
260
255
  */
261
- invoke?: SingleOrArray<TActor['src'] | InvokeConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay>>;
256
+ invoke?: SingleOrArray<InvokeConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay>>;
262
257
  /**
263
258
  * The mapping of event types to their potential transition(s).
264
259
  */
@@ -1,6 +1,6 @@
1
1
  import { AnyActorLogic, AnyState } from "./index.js";
2
2
  import type { StateNode } from "./StateNode.js";
3
- import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig, AnyInvokeConfig } from "./types.js";
3
+ import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig } from "./types.js";
4
4
  export declare function keys<T extends object>(value: T): Array<keyof T & string>;
5
5
  export declare function matchesState(parentStateId: StateValue, childStateId: StateValue): boolean;
6
6
  export declare function toStatePath(stateId: string | string[]): string[];
@@ -38,7 +38,6 @@ export declare function isErrorEvent(event: AnyEventObject): event is ErrorEvent
38
38
  export declare function toTransitionConfigArray<TContext extends MachineContext, TEvent extends EventObject>(configLike: SingleOrArray<AnyTransitionConfig | TransitionConfigTarget>): Array<AnyTransitionConfig>;
39
39
  export declare function normalizeTarget<TContext extends MachineContext, TEvent extends EventObject>(target: SingleOrArray<string | StateNode<TContext, TEvent>> | undefined): ReadonlyArray<string | StateNode<TContext, TEvent>> | undefined;
40
40
  export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
41
- export declare function toInvokeConfig<TContext extends MachineContext, TEvent extends EventObject>(invocable: AnyInvokeConfig | string | AnyActorLogic, id: string): AnyInvokeConfig;
42
41
  export declare function toObserver<T>(nextHandler?: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
43
42
  export declare function createInvokeId(stateNodeId: string, index: number): string;
44
43
  export declare function resolveReferencedActor(referenced: AnyActorLogic | {