xstate 5.0.0-beta.15 → 5.0.0-beta.17

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 (51) hide show
  1. package/actions/dist/xstate-actions.cjs.js +2 -7
  2. package/actions/dist/xstate-actions.cjs.mjs +2 -7
  3. package/actions/dist/xstate-actions.development.cjs.js +2 -7
  4. package/actions/dist/xstate-actions.development.esm.js +1 -1
  5. package/actions/dist/xstate-actions.esm.js +1 -1
  6. package/actions/dist/xstate-actions.umd.min.js +1 -1
  7. package/actions/dist/xstate-actions.umd.min.js.map +1 -1
  8. package/actors/dist/xstate-actors.cjs.js +1 -1
  9. package/actors/dist/xstate-actors.development.cjs.js +1 -1
  10. package/actors/dist/xstate-actors.development.esm.js +1 -1
  11. package/actors/dist/xstate-actors.esm.js +1 -1
  12. package/actors/dist/xstate-actors.umd.min.js +1 -1
  13. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  14. package/dist/{actions-98f362b9.development.esm.js → actions-13190b25.development.esm.js} +1335 -1537
  15. package/dist/{actions-d71ac253.development.cjs.js → actions-40bd643f.development.cjs.js} +1336 -1546
  16. package/dist/{actions-6884fae8.esm.js → actions-4d6514d2.esm.js} +1310 -1539
  17. package/dist/{actions-81cc7f2b.cjs.js → actions-5fb9f10d.cjs.js} +1311 -1548
  18. package/dist/declarations/src/State.d.ts +1 -1
  19. package/dist/declarations/src/StateMachine.d.ts +2 -4
  20. package/dist/declarations/src/StateNode.d.ts +4 -4
  21. package/dist/declarations/src/actions/assign.d.ts +11 -2
  22. package/dist/declarations/src/actions/cancel.d.ts +14 -3
  23. package/dist/declarations/src/actions/choose.d.ts +11 -3
  24. package/dist/declarations/src/actions/log.d.ts +22 -3
  25. package/dist/declarations/src/actions/pure.d.ts +17 -3
  26. package/dist/declarations/src/actions/raise.d.ts +5 -2
  27. package/dist/declarations/src/actions/send.d.ts +64 -22
  28. package/dist/declarations/src/actions/stop.d.ts +14 -2
  29. package/dist/declarations/src/actions.d.ts +5 -11
  30. package/dist/declarations/src/constantPrefixes.d.ts +6 -0
  31. package/dist/declarations/src/interpreter.d.ts +8 -3
  32. package/dist/declarations/src/stateUtils.d.ts +4 -8
  33. package/dist/declarations/src/types.d.ts +38 -223
  34. package/dist/declarations/src/utils.d.ts +1 -6
  35. package/dist/xstate.cjs.js +61 -52
  36. package/dist/xstate.cjs.mjs +1 -1
  37. package/dist/xstate.development.cjs.js +61 -52
  38. package/dist/xstate.development.esm.js +61 -52
  39. package/dist/xstate.esm.js +61 -52
  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 +1 -1
  47. package/guards/dist/xstate-guards.umd.min.js.map +1 -1
  48. package/package.json +1 -1
  49. package/actions/dynamicAction.ts +0 -42
  50. package/dist/declarations/src/actionTypes.d.ts +0 -16
  51. package/dist/declarations/src/constants.d.ts +0 -5
@@ -47,7 +47,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
47
47
  * @param delimiter The character(s) that separate each subpath in the string state node path.
48
48
  */
49
49
  toStrings(stateValue?: StateValue): string[];
50
- toJSON(): Omit<this, "meta" | "toJSON" | "configuration" | "tags" | "machine" | "toStrings" | "matches" | "hasTag" | "can" | "nextEvents"> & {
50
+ toJSON(): Omit<this, "meta" | "configuration" | "tags" | "machine" | "toStrings" | "toJSON" | "matches" | "hasTag" | "can" | "nextEvents"> & {
51
51
  tags: string[];
52
52
  meta: Record<string, any>;
53
53
  };
@@ -1,7 +1,7 @@
1
1
  import { State } from "./State.js";
2
2
  import { StateNode } from "./StateNode.js";
3
3
  import type { AreAllImplementationsAssumedToBeProvided, MarkAllImplementationsAsProvided, ResolveTypegenMeta, TypegenDisabled } from "./typegenTypes.js";
4
- import type { ActorContext, ActorLogic, ActorMap, EventObject, InternalMachineImplementations, MachineConfig, MachineContext, MachineImplementationsSimplified, MachineTypes, NoInfer, StateConfig, StateMachineDefinition, StateValue, TransitionDefinition, PersistedMachineState, ParameterizedObject, AnyActorContext } from "./types.js";
4
+ import type { ActorContext, ActorLogic, ActorMap, EventObject, InternalMachineImplementations, MachineConfig, MachineContext, MachineImplementationsSimplified, MachineTypes, NoInfer, StateConfig, StateMachineDefinition, StateValue, TransitionDefinition, PersistedMachineState, ParameterizedObject, AnyActorContext, Equals } from "./types.js";
5
5
  export declare const STATE_IDENTIFIER = "#";
6
6
  export declare const WILDCARD = "*";
7
7
  export declare class StateMachine<TContext extends MachineContext, TEvent extends EventObject = EventObject, TAction extends ParameterizedObject = ParameterizedObject, TActorMap extends ActorMap = ActorMap, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TAction, TActorMap>> implements ActorLogic<TEvent, State<TContext, TEvent, TResolvedTypesMeta>, State<TContext, TEvent, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TResolvedTypesMeta>>> {
@@ -9,8 +9,6 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
9
9
  * The raw config used to create the machine.
10
10
  */
11
11
  config: MachineConfig<TContext, TEvent, any, any, any>;
12
- getContext(input?: any): TContext;
13
- private getContextAndActions;
14
12
  /**
15
13
  * The machine's own version.
16
14
  */
@@ -46,7 +44,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
46
44
  * @param state The state to resolve
47
45
  */
48
46
  resolveState(state: State<TContext, TEvent, TResolvedTypesMeta>): typeof state;
49
- resolveStateValue(stateValue: StateValue): State<TContext, TEvent, TResolvedTypesMeta>;
47
+ resolveStateValue(stateValue: StateValue, ...[context]: Equals<TContext, MachineContext> extends true ? [] : [TContext]): State<TContext, TEvent, TResolvedTypesMeta>;
50
48
  /**
51
49
  * Determines the next state given the current `state` and received `event`.
52
50
  * Calculates a full macrostep from all microsteps.
@@ -1,6 +1,6 @@
1
- import type { EventObject, StateNodeDefinition, TransitionDefinition, DelayedTransitionDefinition, StateNodeConfig, StateNodesConfig, InvokeDefinition, Mapper, PropertyMapper, TransitionDefinitionMap, InitialTransitionDefinition, MachineContext, BaseActionObject } from "./types.js";
2
1
  import type { State } from "./State.js";
3
2
  import type { StateMachine } from "./StateMachine.js";
3
+ import type { Action, DelayedTransitionDefinition, EventObject, InitialTransitionDefinition, InvokeDefinition, MachineContext, Mapper, PropertyMapper, StateNodeConfig, StateNodeDefinition, StateNodesConfig, TransitionDefinition, TransitionDefinitionMap } from "./types.js";
4
4
  interface StateNodeOptions<TContext extends MachineContext, TEvent extends EventObject> {
5
5
  _key: string;
6
6
  _parent?: StateNode<TContext, TEvent>;
@@ -47,11 +47,11 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
47
47
  /**
48
48
  * The action(s) to be executed upon entering the state node.
49
49
  */
50
- entry: BaseActionObject[];
50
+ entry: Action<any, any, any>[];
51
51
  /**
52
52
  * The action(s) to be executed upon exiting the state node.
53
53
  */
54
- exit: BaseActionObject[];
54
+ exit: Action<any, any, any>[];
55
55
  /**
56
56
  * The parent state node.
57
57
  */
@@ -74,7 +74,7 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
74
74
  order: number;
75
75
  description?: string;
76
76
  tags: string[];
77
- transitions: Array<TransitionDefinition<TContext, TEvent>>;
77
+ transitions: Map<string, TransitionDefinition<TContext, TEvent>[]>;
78
78
  always?: Array<TransitionDefinition<TContext, TEvent>>;
79
79
  constructor(
80
80
  /**
@@ -1,7 +1,16 @@
1
- import type { EventObject, Assigner, PropertyAssigner, MachineContext, DynamicAssignAction, LowInfer } from "../types.js";
1
+ import type { ActionArgs, AnyActorContext, AnyState, Assigner, EventObject, LowInfer, MachineContext, PropertyAssigner } from "../types.js";
2
+ declare function resolve(actorContext: AnyActorContext, state: AnyState, actionArgs: ActionArgs<any, any>, { assignment }: {
3
+ assignment: Assigner<any, any> | PropertyAssigner<any, any>;
4
+ }): AnyState[];
2
5
  /**
3
6
  * Updates the current context of the machine.
4
7
  *
5
8
  * @param assignment An object that represents the partial context to update.
6
9
  */
7
- export declare function assign<TContext extends MachineContext, TExpressionEvent extends EventObject = EventObject, TEvent extends EventObject = TExpressionEvent>(assignment: Assigner<LowInfer<TContext>, TExpressionEvent, TEvent> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent, TEvent>): DynamicAssignAction<TContext, TExpressionEvent, TEvent>;
10
+ export declare function assign<TContext extends MachineContext, TExpressionEvent extends EventObject = EventObject, TEvent extends EventObject = TExpressionEvent>(assignment: Assigner<LowInfer<TContext>, TExpressionEvent> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent>): {
11
+ (_: ActionArgs<TContext, TExpressionEvent>): void;
12
+ type: string;
13
+ assignment: Assigner<LowInfer<TContext>, TExpressionEvent> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent>;
14
+ resolve: typeof resolve;
15
+ };
16
+ export {};
@@ -1,5 +1,9 @@
1
- import { EventObject, ExprWithMeta, MachineContext } from "../types.js";
2
- import { BaseDynamicActionObject, CancelActionObject, DynamicCancelActionObject } from "../index.js";
1
+ import { AnyActorContext, AnyState, EventObject, MachineContext, ActionArgs } from "../types.js";
2
+ type ResolvableSendId<TContext extends MachineContext, TExpressionEvent extends EventObject> = string | ((args: ActionArgs<TContext, TExpressionEvent>) => string);
3
+ declare function resolve(_: AnyActorContext, state: AnyState, actionArgs: ActionArgs<any, any>, { sendId }: {
4
+ sendId: ResolvableSendId<any, any>;
5
+ }): (string | AnyState)[];
6
+ declare function execute(actorContext: AnyActorContext, resolvedSendId: string): void;
3
7
  /**
4
8
  * Cancels an in-flight `send(...)` action. A canceled sent action will not
5
9
  * be executed, nor will its event be sent, unless it has already been sent
@@ -7,4 +11,11 @@ import { BaseDynamicActionObject, CancelActionObject, DynamicCancelActionObject
7
11
  *
8
12
  * @param sendId The `id` of the `send(...)` action to cancel.
9
13
  */
10
- export declare function cancel<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(sendId: string | ExprWithMeta<TContext, TExpressionEvent, string>): BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, CancelActionObject, DynamicCancelActionObject<TContext, TExpressionEvent>['params']>;
14
+ export declare function cancel<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(sendId: ResolvableSendId<TContext, TExpressionEvent>): {
15
+ (_: ActionArgs<TContext, TExpressionEvent>): void;
16
+ type: string;
17
+ sendId: ResolvableSendId<TContext, TExpressionEvent>;
18
+ resolve: typeof resolve;
19
+ execute: typeof execute;
20
+ };
21
+ export {};
@@ -1,3 +1,11 @@
1
- import { EventObject, ChooseCondition, MachineContext } from "../types.js";
2
- import { BaseDynamicActionObject, ChooseAction, ResolvedChooseAction } from "../index.js";
3
- export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(guards: Array<ChooseCondition<TContext, TExpressionEvent>>): BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, ResolvedChooseAction, ChooseAction<TContext, TExpressionEvent>['params']>;
1
+ import { EventObject, ChooseBranch, MachineContext, AnyActorContext, AnyState, ActionArgs } from "../types.js";
2
+ declare function resolve(_: AnyActorContext, state: AnyState, actionArgs: ActionArgs<any, any>, { branches }: {
3
+ branches: Array<ChooseBranch<MachineContext, EventObject>>;
4
+ }): (AnyState | (string | import("../types.js").ParameterizedObject | import("../types.js").ActionFunction<MachineContext, EventObject, EventObject, import("../types.js").ParameterizedObject>)[] | undefined)[];
5
+ export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(branches: Array<ChooseBranch<TContext, TExpressionEvent>>): {
6
+ (_: ActionArgs<TContext, TExpressionEvent>): void;
7
+ type: string;
8
+ branches: ChooseBranch<TContext, TExpressionEvent, TExpressionEvent>[];
9
+ resolve: typeof resolve;
10
+ };
11
+ export {};
@@ -1,5 +1,16 @@
1
- import { EventObject, LogExpr, MachineContext, LogActionObject } from "../types.js";
2
- import { BaseDynamicActionObject, DynamicLogAction } from "../index.js";
1
+ import { ActionArgs, AnyActorContext, AnyState, EventObject, LogExpr, MachineContext } from "../types.js";
2
+ type ResolvableLogValue<TContext extends MachineContext, TExpressionEvent extends EventObject> = string | LogExpr<TContext, TExpressionEvent>;
3
+ declare function resolve(_: AnyActorContext, state: AnyState, actionArgs: ActionArgs<any, any>, { value, label }: {
4
+ value: ResolvableLogValue<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
14
  /**
4
15
  *
5
16
  * @param expr The expression function to evaluate which will be logged.
@@ -8,4 +19,12 @@ import { BaseDynamicActionObject, DynamicLogAction } from "../index.js";
8
19
  * - `event` - the event that caused this action to be executed.
9
20
  * @param label The label to give to the logged expression.
10
21
  */
11
- export declare function log<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent>(expr?: string | LogExpr<TContext, TExpressionEvent>, label?: string): BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, LogActionObject, DynamicLogAction<TContext, TExpressionEvent, TEvent>['params']>;
22
+ export declare function log<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent>(value?: ResolvableLogValue<TContext, TExpressionEvent>, label?: string): {
23
+ (_: ActionArgs<TContext, TExpressionEvent>): void;
24
+ type: string;
25
+ value: ResolvableLogValue<TContext, TExpressionEvent>;
26
+ label: string | undefined;
27
+ resolve: typeof resolve;
28
+ execute: typeof execute;
29
+ };
30
+ export {};
@@ -1,6 +1,20 @@
1
- import { EventObject, SingleOrArray, MachineContext } from "../types.js";
2
- import { BaseActionObject, BaseDynamicActionObject, DynamicPureActionObject, PureActionObject } from "../index.js";
1
+ import { Action, ActionArgs, AnyActorContext, AnyState, EventObject, MachineContext, SingleOrArray } from "../types.js";
2
+ declare function resolve(_: AnyActorContext, state: AnyState, args: ActionArgs<any, any>, { get }: {
3
+ get: ({ context, event }: {
4
+ context: MachineContext;
5
+ event: EventObject;
6
+ }) => SingleOrArray<Action<any, any, any>> | undefined;
7
+ }): (AnyState | (string | import("../types.js").ParameterizedObject | import("../types.js").ActionFunction<any, any, any, import("../types.js").ParameterizedObject>)[] | undefined)[];
3
8
  export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent>(getActions: ({ context, event }: {
4
9
  context: TContext;
5
10
  event: TExpressionEvent;
6
- }) => SingleOrArray<BaseActionObject | string> | undefined): BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, PureActionObject, DynamicPureActionObject<TContext, TExpressionEvent>['params']>;
11
+ }) => SingleOrArray<Action<TContext, TExpressionEvent> | string> | undefined): {
12
+ (_: ActionArgs<TContext, TExpressionEvent>): void;
13
+ type: string;
14
+ get: ({ context, event }: {
15
+ context: TContext;
16
+ event: TExpressionEvent;
17
+ }) => SingleOrArray<Action<TContext, TExpressionEvent> | string> | undefined;
18
+ resolve: typeof resolve;
19
+ };
20
+ export {};
@@ -1,8 +1,11 @@
1
- import { EventObject, MachineContext, RaiseActionObject, BaseDynamicActionObject, RaiseActionOptions, SendExpr, RaiseActionParams, NoInfer } from "../types.js";
1
+ import { ActionArgs, EventObject, MachineContext, NoInfer, RaiseActionOptions, SendExpr } from "../types.js";
2
2
  /**
3
3
  * Raises an event. This places the event in the internal event queue, so that
4
4
  * the event is immediately consumed by the machine in the current step.
5
5
  *
6
6
  * @param eventType The event to raise.
7
7
  */
8
- export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent>): BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, RaiseActionObject<TContext, TExpressionEvent, TEvent>, RaiseActionParams<TContext, TExpressionEvent, TEvent>>;
8
+ export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent>): {
9
+ (args: ActionArgs<TContext, TExpressionEvent>): void;
10
+ _out_TEvent?: TEvent | undefined;
11
+ };
@@ -1,32 +1,73 @@
1
- import { EventObject, SendActionParams, SendExpr, AnyEventObject, MachineContext } from "../types.js";
2
- import { AnyActorRef, BaseDynamicActionObject, Cast, EventFrom, ExprWithMeta, InferEvent, SendActionObject, SendActionOptions } from "../index.js";
1
+ import { ActionArgs, ActorRef, AnyActorContext, AnyActorRef, AnyEventObject, AnyState, Cast, DelayExpr, EventFrom, EventObject, InferEvent, MachineContext, SendExpr, SendToActionOptions, SendToActionParams, UnifiedArg } from "../types.js";
2
+ declare function resolve(actorContext: AnyActorContext, state: AnyState, args: ActionArgs<any, any>, { to, event: eventOrExpr, id, delay }: {
3
+ to: AnyActorRef | string | ((args: UnifiedArg<MachineContext, EventObject>) => AnyActorRef | string);
4
+ event: EventObject | SendExpr<MachineContext, EventObject, EventObject>;
5
+ id: string | undefined;
6
+ delay: string | number | DelayExpr<MachineContext, EventObject> | undefined;
7
+ }): (AnyState | {
8
+ to: AnyActorRef;
9
+ event: EventObject;
10
+ id: string | undefined;
11
+ delay: number | undefined;
12
+ })[];
13
+ declare function execute(actorContext: AnyActorContext, params: {
14
+ to: AnyActorRef;
15
+ event: EventObject;
16
+ id: string | undefined;
17
+ delay: number | undefined;
18
+ }): void;
3
19
  /**
4
- * Sends an event. This returns an action that will be read by an interpreter to
5
- * send the event in the next step, after the current step is finished executing.
6
- *
7
- * @deprecated Use the `sendTo(...)` action creator instead.
20
+ * Sends an event to an actor.
8
21
  *
9
- * @param eventOrExpr The event to send.
10
- * @param options Options to pass into the send event:
22
+ * @param actor The `ActorRef` to send the event to.
23
+ * @param event The event to send, or an expression that evaluates to the event to send
24
+ * @param options Send action options
11
25
  * - `id` - The unique send event identifier (used with `cancel()`).
12
26
  * - `delay` - The number of milliseconds to delay the sending of the event.
13
- * - `to` - The target of this event (by default, the machine the event was sent from).
14
27
  */
15
- export declare function send<TContext extends MachineContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(eventOrExpr: TSentEvent | SendExpr<TContext, TEvent, AnyEventObject>, options?: SendActionOptions<TContext, TEvent>): BaseDynamicActionObject<TContext, TEvent, TEvent, SendActionObject<AnyEventObject>, SendActionParams<TContext, TEvent>>;
28
+ export declare function sendTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TActor extends AnyActorRef>(to: TActor | string | ((args: UnifiedArg<TContext, TExpressionEvent>) => TActor | string), eventOrExpr: EventFrom<TActor> | SendExpr<TContext, TExpressionEvent, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendToActionOptions<TContext, TExpressionEvent>): {
29
+ (_: ActionArgs<TContext, TExpressionEvent>): void;
30
+ type: string;
31
+ to: string | TActor | ((args: UnifiedArg<TContext, TExpressionEvent>) => TActor | string);
32
+ event: ((TActor extends import("../types.js").AnyFunction ? ReturnType<TActor> : TActor) extends infer R ? R extends import("../StateMachine.js").StateMachine<infer _ extends MachineContext, infer TEvent_1 extends EventObject, infer __ extends import("../types.js").ParameterizedObject, infer ___ extends import("../types.js").ActorMap, infer ____> ? TEvent_1 : R extends import("../State.js").State<infer __1 extends MachineContext, infer TEvent_2 extends EventObject, infer ____1> ? TEvent_2 : R extends ActorRef<infer TEvent_3 extends EventObject, infer __2> ? TEvent_3 : never : never) | SendExpr<TContext, TExpressionEvent, InferEvent<Cast<(TActor extends import("../types.js").AnyFunction ? ReturnType<TActor> : TActor) extends infer R ? R extends import("../StateMachine.js").StateMachine<infer _ extends MachineContext, infer TEvent_1 extends EventObject, infer __ extends import("../types.js").ParameterizedObject, infer ___ extends import("../types.js").ActorMap, infer ____> ? TEvent_1 : R extends import("../State.js").State<infer __1 extends MachineContext, infer TEvent_2 extends EventObject, infer ____1> ? TEvent_2 : R extends ActorRef<infer TEvent_3 extends EventObject, infer __2> ? TEvent_3 : never : never, EventObject>>>;
33
+ id: string | undefined;
34
+ delay: string | number | DelayExpr<TContext, TExpressionEvent> | undefined;
35
+ resolve: typeof resolve;
36
+ execute: typeof execute;
37
+ };
16
38
  /**
17
39
  * Sends an event to this machine's parent.
18
40
  *
19
41
  * @param event The event to send to the parent machine.
20
42
  * @param options Options to pass into the send event.
21
43
  */
22
- export declare function sendParent<TContext extends MachineContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(event: TSentEvent | SendExpr<TContext, TEvent, TSentEvent>, options?: SendActionOptions<TContext, TEvent>): BaseDynamicActionObject<TContext, TEvent, TEvent, SendActionObject<AnyEventObject>, SendActionParams<TContext, TEvent, EventObject>>;
44
+ export declare function sendParent<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(event: TSentEvent | SendExpr<TContext, TExpressionEvent, TSentEvent>, options?: SendToActionOptions<TContext, TExpressionEvent>): {
45
+ (_: ActionArgs<TContext, TExpressionEvent, import("../types.js").ParameterizedObject>): void;
46
+ type: string;
47
+ to: string | AnyActorRef | ((args: UnifiedArg<TContext, TExpressionEvent>) => string | AnyActorRef);
48
+ event: any;
49
+ id: string | undefined;
50
+ delay: string | number | DelayExpr<TContext, TExpressionEvent> | undefined;
51
+ resolve: typeof resolve;
52
+ execute: typeof execute;
53
+ };
54
+ type Target<TContext extends MachineContext, TEvent extends EventObject> = string | ActorRef<any, any> | ((args: UnifiedArg<TContext, TEvent>) => string | ActorRef<any, any>);
23
55
  /**
24
56
  * Forwards (sends) an event to a specified service.
25
57
  *
26
58
  * @param target The target service to forward the event to.
27
59
  * @param options Options to pass into the send action creator.
28
60
  */
29
- export declare function forwardTo<TContext extends MachineContext, TEvent extends EventObject>(target: Required<SendActionParams<TContext, TEvent>>['to'], options?: SendActionOptions<TContext, TEvent>): BaseDynamicActionObject<TContext, TEvent, TEvent, SendActionObject<AnyEventObject>, SendActionParams<TContext, TEvent, EventObject>>;
61
+ export declare function forwardTo<TContext extends MachineContext, TExpressionEvent extends EventObject>(target: Target<TContext, TExpressionEvent>, options?: SendToActionOptions<TContext, TExpressionEvent>): {
62
+ (_: ActionArgs<TContext, TExpressionEvent, import("../types.js").ParameterizedObject>): void;
63
+ type: string;
64
+ to: string | AnyActorRef | ((args: UnifiedArg<TContext, TExpressionEvent>) => string | AnyActorRef);
65
+ event: any;
66
+ id: string | undefined;
67
+ delay: string | number | DelayExpr<TContext, TExpressionEvent> | undefined;
68
+ resolve: typeof resolve;
69
+ execute: typeof execute;
70
+ };
30
71
  /**
31
72
  * Escalates an error by sending it as an event to this machine's parent.
32
73
  *
@@ -34,13 +75,14 @@ export declare function forwardTo<TContext extends MachineContext, TEvent extend
34
75
  * takes in the `context`, `event`, and `meta`, and returns the error data to send.
35
76
  * @param options Options to pass into the send action creator.
36
77
  */
37
- export declare function escalate<TContext extends MachineContext, TEvent extends EventObject, TErrorData = any>(errorData: TErrorData | ExprWithMeta<TContext, TEvent, TErrorData>, options?: SendActionParams<TContext, TEvent>): BaseDynamicActionObject<TContext, TEvent, TEvent, SendActionObject<AnyEventObject>, SendActionParams<TContext, TEvent, EventObject>>;
38
- /**
39
- * Sends an event to an actor.
40
- *
41
- * @param actor The `ActorRef` to send the event to.
42
- * @param event The event to send, or an expression that evaluates to the event to send
43
- * @param options Send action options
44
- * @returns An XState send action object
45
- */
46
- export declare function sendTo<TContext extends MachineContext, TEvent extends EventObject, TActor extends AnyActorRef>(actor: TActor | string | ExprWithMeta<TContext, TEvent, TActor | string>, event: EventFrom<TActor> | SendExpr<TContext, TEvent, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendActionOptions<TContext, TEvent>): BaseDynamicActionObject<TContext, TEvent, TEvent, SendActionObject<AnyEventObject>, SendActionParams<TContext, TEvent, EventObject>>;
78
+ export declare function escalate<TContext extends MachineContext, TExpressionEvent extends EventObject, TErrorData = any>(errorData: TErrorData | ((args: UnifiedArg<TContext, TExpressionEvent>) => TErrorData), options?: SendToActionParams<TContext, TExpressionEvent>): {
79
+ (_: ActionArgs<TContext, TExpressionEvent, import("../types.js").ParameterizedObject>): void;
80
+ type: string;
81
+ to: string | AnyActorRef | ((args: UnifiedArg<TContext, TExpressionEvent>) => string | AnyActorRef);
82
+ event: any;
83
+ id: string | undefined;
84
+ delay: string | number | DelayExpr<TContext, TExpressionEvent> | undefined;
85
+ resolve: typeof resolve;
86
+ execute: typeof execute;
87
+ };
88
+ export {};
@@ -1,7 +1,19 @@
1
- import { ActorRef, BaseDynamicActionObject, DynamicStopActionObject, EventObject, Expr, MachineContext, StopActionObject } from "../types.js";
1
+ import { ActionArgs, ActorRef, AnyActorContext, AnyState, EventObject, MachineContext, UnifiedArg } from "../types.js";
2
+ type ResolvableActorRef<TContext extends MachineContext, TExpressionEvent extends EventObject> = string | ActorRef<any> | ((args: UnifiedArg<TContext, TExpressionEvent>) => ActorRef<any> | string);
3
+ declare function resolve(_: AnyActorContext, state: AnyState, args: ActionArgs<any, any>, { actorRef }: {
4
+ actorRef: ResolvableActorRef<any, any>;
5
+ }): (AnyState | ActorRef<any, any>)[];
6
+ declare function execute(actorContext: AnyActorContext, actorRef: ActorRef<any, any> | undefined): void;
2
7
  /**
3
8
  * Stops an actor.
4
9
  *
5
10
  * @param actorRef The actor to stop.
6
11
  */
7
- export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(actorRef: string | ActorRef<any> | Expr<TContext, TExpressionEvent, ActorRef<any> | string>): BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, StopActionObject, DynamicStopActionObject<TContext, TExpressionEvent>['params']>;
12
+ export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(actorRef: ResolvableActorRef<TContext, TExpressionEvent>): {
13
+ (_: ActionArgs<TContext, TExpressionEvent>): void;
14
+ type: string;
15
+ actorRef: ResolvableActorRef<TContext, TExpressionEvent>;
16
+ resolve: typeof resolve;
17
+ execute: typeof execute;
18
+ };
19
+ export {};
@@ -1,6 +1,6 @@
1
- import { Action, EventObject, SingleOrArray, ActionFunction, ActionFunctionMap, ActionTypes, DoneEvent, ErrorPlatformEvent, DoneEventObject, MachineContext, BaseActionObject } from "./types.js";
2
- import * as actionTypes from "./actionTypes.js";
3
- export { send, sendTo, sendParent, forwardTo, escalate } from "./actions/send.js";
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
4
  export { stop } from "./actions/stop.js";
5
5
  export { log } from "./actions/log.js";
6
6
  export { cancel } from "./actions/cancel.js";
@@ -8,13 +8,7 @@ export { assign } from "./actions/assign.js";
8
8
  export { raise } from "./actions/raise.js";
9
9
  export { choose } from "./actions/choose.js";
10
10
  export { pure } from "./actions/pure.js";
11
- export { actionTypes };
12
- export declare const initEvent: {
13
- type: ActionTypes;
14
- };
15
- export declare function resolveActionObject(actionObject: BaseActionObject, actionFunctionMap: ActionFunctionMap<any, any>): BaseActionObject;
16
- export declare function toActionObject<TContext extends MachineContext, TEvent extends EventObject>(action: BaseActionObject | ActionFunction<TContext, TEvent> | string): BaseActionObject;
17
- export declare const toActionObjects: <TContext extends MachineContext, TEvent extends EventObject>(action?: SingleOrArray<Action<TContext, TEvent>> | undefined) => BaseActionObject[];
11
+ export { constantPrefixes };
18
12
  /**
19
13
  * Returns an event type that represents an implicit event that
20
14
  * is sent after the specified `delay`.
@@ -43,6 +37,6 @@ export declare function done(id: string, output?: any): DoneEventObject;
43
37
  export declare function doneInvoke(invokeId: string, output?: any): DoneEvent;
44
38
  export declare function error(id: string, data?: any): ErrorPlatformEvent & string;
45
39
  export declare function createInitEvent(input: any): {
46
- readonly type: ActionTypes.Init;
40
+ readonly type: "xstate.init";
47
41
  readonly input: any;
48
42
  };
@@ -0,0 +1,6 @@
1
+ import { ConstantPrefix } from "./types.js";
2
+ export declare const after = ConstantPrefix.After;
3
+ export declare const doneState = ConstantPrefix.DoneState;
4
+ export declare const errorExecution = ConstantPrefix.ErrorExecution;
5
+ export declare const errorPlatform = ConstantPrefix.ErrorPlatform;
6
+ export declare const error = ConstantPrefix.ErrorCustom;
@@ -1,7 +1,7 @@
1
1
  import { symbolObservable } from "./symbolObservable.js";
2
2
  import { AreAllImplementationsAssumedToBeProvided, MissingImplementationsError } from "./typegenTypes.js";
3
- import type { ActorSystem, AnyActorLogic, AnyStateMachine, EventFromLogic, InterpreterFrom, PersistedStateFrom, RaiseActionObject, SnapshotFrom } from "./types.js";
4
- import { ActorRef, EventObject, InteropSubscribable, InterpreterOptions, Observer, SendActionObject, Subscription } from "./types.js";
3
+ import type { ActorSystem, AnyActorLogic, AnyStateMachine, EventFromLogic, InterpreterFrom, PersistedStateFrom, SnapshotFrom, AnyActorRef } from "./types.js";
4
+ import { ActorRef, EventObject, InteropSubscribable, InterpreterOptions, Observer, Subscription } from "./types.js";
5
5
  export type SnapshotListener<TLogic extends AnyActorLogic> = (state: SnapshotFrom<TLogic>) => void;
6
6
  export type EventListener<TEvent extends EventObject = EventObject> = (event: TEvent) => void;
7
7
  export type Listener = () => void;
@@ -80,7 +80,12 @@ export declare class Interpreter<TLogic extends AnyActorLogic, TEvent extends Ev
80
80
  * @param event The event to send
81
81
  */
82
82
  send(event: TEvent): void;
83
- delaySend(sendAction: SendActionObject | RaiseActionObject<any, any, any>): void;
83
+ delaySend({ event, id, delay, to }: {
84
+ event: EventObject;
85
+ id: string | undefined;
86
+ delay: number;
87
+ to?: AnyActorRef;
88
+ }): void;
84
89
  cancel(sendId: string | number): void;
85
90
  private attachDevTools;
86
91
  toJSON(): {
@@ -1,8 +1,6 @@
1
- import { BaseActionObject, EventObject, StateValue, TransitionConfig, TransitionDefinition, SingleOrArray, StateValueMap, InitialTransitionConfig, MachineContext } from "./types.js";
2
1
  import { State } from "./State.js";
3
- import { NULL_EVENT } from "./constants.js";
4
2
  import type { StateNode } from "./StateNode.js";
5
- import { AnyActorContext, AnyHistoryValue, AnyState, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, InitialTransitionDefinition } from "./index.js";
3
+ import { Action, AnyActorContext, AnyHistoryValue, AnyState, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, EventObject, InitialTransitionConfig, InitialTransitionDefinition, MachineContext, SingleOrArray, StateValue, StateValueMap, TransitionConfig, TransitionDefinition } from "./types.js";
6
4
  type Configuration<TContext extends MachineContext, TE extends EventObject> = Iterable<StateNode<TContext, TE>>;
7
5
  type AnyConfiguration = Configuration<any, any>;
8
6
  type AdjList = Map<AnyStateNode, Array<AnyStateNode>>;
@@ -17,10 +15,8 @@ export declare function getCandidates<TEvent extends EventObject>(stateNode: Sta
17
15
  * All delayed transitions from the config.
18
16
  */
19
17
  export declare function getDelayedTransitions<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode): Array<DelayedTransitionDefinition<TContext, TEvent>>;
20
- export declare function formatTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, transitionConfig: TransitionConfig<TContext, TEvent> & {
21
- event: TEvent['type'] | typeof NULL_EVENT | '*';
22
- }): AnyTransitionDefinition;
23
- export declare function formatTransitions<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode): Array<AnyTransitionDefinition>;
18
+ export declare function formatTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, descriptor: string, transitionConfig: TransitionConfig<TContext, TEvent>): AnyTransitionDefinition;
19
+ export declare function formatTransitions<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode): Map<string, TransitionDefinition<TContext, TEvent>[]>;
24
20
  export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: SingleOrArray<string> | InitialTransitionConfig<TContext, TEvent>): InitialTransitionDefinition<TContext, TEvent>;
25
21
  export declare function resolveTarget(stateNode: AnyStateNode, targets: Array<string | AnyStateNode> | undefined): Array<AnyStateNode> | undefined;
26
22
  export declare function getInitialStateNodes(stateNode: AnyStateNode): Array<AnyStateNode>;
@@ -54,7 +50,7 @@ export declare function removeConflictingTransitions(enabledTransitions: Array<A
54
50
  * @param mutConfiguration
55
51
  */
56
52
  export declare function microstep<TContext extends MachineContext, TEvent extends EventObject>(transitions: Array<TransitionDefinition<TContext, TEvent>>, currentState: State<TContext, TEvent, any>, actorCtx: AnyActorContext, event: TEvent, isInitial: boolean): State<TContext, TEvent, any>;
57
- export declare function resolveActionsAndContext<TContext extends MachineContext, TEvent extends EventObject>(actions: BaseActionObject[], event: TEvent, currentState: State<TContext, TEvent, any>, actorCtx: AnyActorContext | undefined): AnyState;
53
+ export declare function resolveActionsAndContext<TContext extends MachineContext, TEvent extends EventObject>(actions: Action<any, any, any>[], event: TEvent, currentState: State<TContext, TEvent, any>, actorCtx: AnyActorContext): AnyState;
58
54
  export declare function macrostep(state: AnyState, event: EventObject, actorCtx: AnyActorContext): {
59
55
  state: typeof state;
60
56
  microstates: Array<typeof state>;