xstate 5.0.0-beta.22 → 5.0.0-beta.24

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 (48) hide show
  1. package/actions/dist/xstate-actions.cjs.js +1 -1
  2. package/actions/dist/xstate-actions.development.cjs.js +1 -1
  3. package/actions/dist/xstate-actions.development.esm.js +1 -1
  4. package/actions/dist/xstate-actions.esm.js +1 -1
  5. package/actions/dist/xstate-actions.umd.min.js +1 -1
  6. package/actions/dist/xstate-actions.umd.min.js.map +1 -1
  7. package/actors/dist/xstate-actors.cjs.js +1 -1
  8. package/actors/dist/xstate-actors.development.cjs.js +1 -1
  9. package/actors/dist/xstate-actors.development.esm.js +1 -1
  10. package/actors/dist/xstate-actors.esm.js +1 -1
  11. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  12. package/dist/{actions-d4305983.development.esm.js → actions-194e6dcc.development.esm.js} +100 -144
  13. package/dist/{actions-4b70fc8d.development.cjs.js → actions-43f7d40e.development.cjs.js} +99 -144
  14. package/dist/{actions-8f2e997e.cjs.js → actions-6a8cda73.cjs.js} +95 -148
  15. package/dist/{actions-fb7384f8.esm.js → actions-7b182232.esm.js} +96 -148
  16. package/dist/declarations/src/Machine.d.ts +2 -2
  17. package/dist/declarations/src/State.d.ts +5 -5
  18. package/dist/declarations/src/StateMachine.d.ts +27 -19
  19. package/dist/declarations/src/StateNode.d.ts +9 -9
  20. package/dist/declarations/src/actions/assign.d.ts +6 -6
  21. package/dist/declarations/src/actions/cancel.d.ts +7 -7
  22. package/dist/declarations/src/actions/choose.d.ts +4 -10
  23. package/dist/declarations/src/actions/log.d.ts +7 -7
  24. package/dist/declarations/src/actions/pure.d.ts +6 -17
  25. package/dist/declarations/src/actions/raise.d.ts +3 -3
  26. package/dist/declarations/src/actions/send.d.ts +22 -22
  27. package/dist/declarations/src/actions/stop.d.ts +7 -7
  28. package/dist/declarations/src/guards.d.ts +17 -8
  29. package/dist/declarations/src/interpreter.d.ts +1 -1
  30. package/dist/declarations/src/stateUtils.d.ts +12 -12
  31. package/dist/declarations/src/typegenTypes.d.ts +6 -2
  32. package/dist/declarations/src/types.d.ts +130 -192
  33. package/dist/declarations/src/utils.d.ts +8 -8
  34. package/dist/xstate.cjs.js +10 -7
  35. package/dist/xstate.development.cjs.js +10 -7
  36. package/dist/xstate.development.esm.js +11 -8
  37. package/dist/xstate.esm.js +11 -8
  38. package/dist/xstate.umd.min.js +1 -1
  39. package/dist/xstate.umd.min.js.map +1 -1
  40. package/guards/dist/xstate-guards.cjs.js +1 -2
  41. package/guards/dist/xstate-guards.cjs.mjs +1 -2
  42. package/guards/dist/xstate-guards.development.cjs.js +1 -2
  43. package/guards/dist/xstate-guards.development.cjs.mjs +1 -2
  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
@@ -12,7 +12,7 @@ export declare function isStateConfig<TContext extends MachineContext, TEvent ex
12
12
  * @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.
13
13
  */
14
14
  export declare const isState: typeof isStateConfig;
15
- export declare class State<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TResolvedTypesMeta = TypegenDisabled> {
15
+ export declare class State<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TOutput, TResolvedTypesMeta = TypegenDisabled> {
16
16
  machine: AnyStateMachine;
17
17
  tags: Set<string>;
18
18
  value: StateValue;
@@ -21,9 +21,9 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
21
21
  */
22
22
  done: boolean;
23
23
  /**
24
- * The done data of the top-level finite state.
24
+ * The output data of the top-level finite state.
25
25
  */
26
- output: any;
26
+ output: TOutput | undefined;
27
27
  error: unknown;
28
28
  context: TContext;
29
29
  historyValue: Readonly<HistoryValue<TContext, TEvent>>;
@@ -41,7 +41,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
41
41
  * @param stateValue
42
42
  * @param context
43
43
  */
44
- static from<TContext extends MachineContext, TEvent extends EventObject = EventObject>(stateValue: State<TContext, TEvent, TODO, any> | StateValue, context: TContext | undefined, machine: AnyStateMachine): State<TContext, TEvent, TODO, any>;
44
+ static from<TContext extends MachineContext, TEvent extends EventObject = EventObject>(stateValue: State<TContext, TEvent, TODO, any, any> | StateValue, context: TContext | undefined, machine: AnyStateMachine): State<TContext, TEvent, TODO, any, any>;
45
45
  /**
46
46
  * Creates a new `State` instance that represents the current state of a running machine.
47
47
  *
@@ -80,7 +80,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
80
80
  /**
81
81
  * The next events that will cause a transition from the current state.
82
82
  */
83
- get nextEvents(): Array<TEvent['type']>;
83
+ get nextEvents(): Array<string>;
84
84
  get meta(): Record<string, any>;
85
85
  }
86
86
  export declare function cloneState<TState extends AnyState>(state: TState, config?: Partial<StateConfig<any, any>>): TState;
@@ -4,17 +4,17 @@ import type { AreAllImplementationsAssumedToBeProvided, MarkAllImplementationsAs
4
4
  import type { ActorContext, ActorLogic, EventObject, InternalMachineImplementations, MachineConfig, MachineContext, MachineImplementationsSimplified, MachineTypes, NoInfer, StateConfig, StateMachineDefinition, StateValue, TransitionDefinition, PersistedMachineState, ParameterizedObject, AnyActorContext, ProvidedActor, Equals, TODO } from "./types.js";
5
5
  export declare const STATE_IDENTIFIER = "#";
6
6
  export declare const WILDCARD = "*";
7
- export declare class StateMachine<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TActor extends ProvidedActor, TInput, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TAction, TActor>> implements ActorLogic<TEvent, State<TContext, TEvent, TActor, TResolvedTypesMeta>, State<TContext, TEvent, TActor, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TActor, TResolvedTypesMeta>>, TODO, TInput, TODO> {
7
+ export declare class StateMachine<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TInput, TOutput, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TActor, TAction, TGuard>> implements ActorLogic<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, TODO, TInput, TOutput> {
8
8
  /**
9
9
  * The raw config used to create the machine.
10
10
  */
11
- config: MachineConfig<TContext, TEvent, any, any, any>;
11
+ config: MachineConfig<TContext, TEvent, any, any, any, any, TOutput, any>;
12
12
  /**
13
13
  * The machine's own version.
14
14
  */
15
15
  version?: string;
16
16
  implementations: MachineImplementationsSimplified<TContext, TEvent>;
17
- types: MachineTypes<TContext, TEvent, TActor, TInput>;
17
+ types: MachineTypes<TContext, TEvent, TAction, TGuard, TActor, TInput, TOutput, TResolvedTypesMeta>;
18
18
  __xstatenode: true;
19
19
  idMap: Map<string, StateNode<TContext, TEvent>>;
20
20
  root: StateNode<TContext, TEvent>;
@@ -25,7 +25,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
25
25
  /**
26
26
  * The raw config used to create the machine.
27
27
  */
28
- config: MachineConfig<TContext, TEvent, any, any, any>, implementations?: MachineImplementationsSimplified<TContext, TEvent>);
28
+ config: MachineConfig<TContext, TEvent, any, any, any, any, TOutput, any>, implementations?: MachineImplementationsSimplified<TContext, TEvent>);
29
29
  /**
30
30
  * Clones this state machine with the provided implementations
31
31
  * and merges the `context` (if provided).
@@ -35,7 +35,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
35
35
  *
36
36
  * @returns A new `StateMachine` instance with the provided implementations.
37
37
  */
38
- provide(implementations: InternalMachineImplementations<TContext, TEvent, TAction, TActor, TResolvedTypesMeta, true>): StateMachine<TContext, TEvent, TAction, TActor, TInput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>;
38
+ provide(implementations: InternalMachineImplementations<TContext, TEvent, TActor, TAction, TResolvedTypesMeta, true>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TInput, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>;
39
39
  /**
40
40
  * Resolves the given `state` to a new `State` instance relative to this machine.
41
41
  *
@@ -43,8 +43,8 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
43
43
  *
44
44
  * @param state The state to resolve
45
45
  */
46
- resolveState(state: State<TContext, TEvent, TActor, TResolvedTypesMeta>): typeof state;
47
- resolveStateValue(stateValue: StateValue, ...[context]: Equals<TContext, MachineContext> extends true ? [] : [TContext]): State<TContext, TEvent, TActor, TResolvedTypesMeta>;
46
+ resolveState(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): typeof state;
47
+ resolveStateValue(stateValue: StateValue, ...[context]: Equals<TContext, MachineContext> extends true ? [] : [TContext]): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
48
48
  /**
49
49
  * Determines the next state given the current `state` and received `event`.
50
50
  * Calculates a full macrostep from all microsteps.
@@ -52,7 +52,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
52
52
  * @param state The current State instance or state value
53
53
  * @param event The received event
54
54
  */
55
- transition(state: State<TContext, TEvent, TActor, TResolvedTypesMeta>, event: TEvent, actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, any>>): State<TContext, TEvent, TActor, TResolvedTypesMeta>;
55
+ transition(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: ActorContext<TEvent, typeof state>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
56
56
  /**
57
57
  * Determines the next state given the current `state` and `event`.
58
58
  * Calculates a microstep.
@@ -60,8 +60,8 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
60
60
  * @param state The current state
61
61
  * @param event The received event
62
62
  */
63
- microstep(state: State<TContext, TEvent, TActor, TResolvedTypesMeta>, event: TEvent, actorCtx: AnyActorContext): Array<State<TContext, TEvent, TActor, TResolvedTypesMeta>>;
64
- getTransitionData(state: State<TContext, TEvent, TActor, TResolvedTypesMeta>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>>;
63
+ microstep(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: AnyActorContext): Array<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>;
64
+ getTransitionData(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>>;
65
65
  /**
66
66
  * The initial state _before_ evaluating any microsteps.
67
67
  * This "pre-initial" state is provided to initial actions executed in the initial state.
@@ -70,30 +70,38 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
70
70
  /**
71
71
  * Returns the initial `State` instance, with reference to `self` as an `ActorRef`.
72
72
  */
73
- getInitialState(actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TResolvedTypesMeta>>, input?: TInput): State<TContext, TEvent, TActor, TResolvedTypesMeta>;
74
- start(state: State<TContext, TEvent, TActor, TResolvedTypesMeta>): void;
73
+ getInitialState(actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, input?: TInput): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
74
+ start(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): void;
75
75
  getStateNodeById(stateId: string): StateNode<TContext, TEvent>;
76
76
  get definition(): StateMachineDefinition<TContext, TEvent>;
77
77
  toJSON(): StateMachineDefinition<TContext, TEvent>;
78
- getPersistedState(state: State<TContext, TEvent, TActor, TResolvedTypesMeta>): PersistedMachineState<State<TContext, TEvent, TActor, TResolvedTypesMeta>>;
79
- createState(stateConfig: State<TContext, TEvent, TActor, TResolvedTypesMeta> | StateConfig<TContext, TEvent>): State<TContext, TEvent, TActor, TResolvedTypesMeta>;
80
- getStatus(state: State<TContext, TEvent, TActor, TResolvedTypesMeta>): {
78
+ getPersistedState(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>;
79
+ createState(stateConfig: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta> | StateConfig<TContext, TEvent>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
80
+ getStatus(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): {
81
81
  status: string;
82
- data: any;
82
+ data: {};
83
+ } | {
84
+ status: string;
85
+ data: TOutput | undefined;
83
86
  } | {
84
87
  status: string;
85
88
  data?: undefined;
86
89
  };
87
- restoreState(state: PersistedMachineState<State<TContext, TEvent, TActor, TResolvedTypesMeta>>, _actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TResolvedTypesMeta>>): State<TContext, TEvent, TActor, TResolvedTypesMeta>;
90
+ restoreState(state: PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, _actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
88
91
  /**@deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
89
92
  __TContext: TContext;
90
93
  /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
91
94
  __TEvent: TEvent;
92
95
  /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
96
+ __TActor: TActor;
97
+ /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
93
98
  __TAction: TAction;
94
99
  /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
95
- __TActor: TActor;
100
+ __TGuard: TGuard;
96
101
  /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
97
- __TResolvedTypesMeta: TResolvedTypesMeta;
98
102
  __TInput: TInput;
103
+ /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
104
+ __TOutput: TOutput;
105
+ /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
106
+ __TResolvedTypesMeta: TResolvedTypesMeta;
99
107
  }
@@ -1,16 +1,16 @@
1
1
  import type { State } from "./State.js";
2
2
  import type { StateMachine } from "./StateMachine.js";
3
- import type { Action, DelayedTransitionDefinition, EventObject, InitialTransitionDefinition, InvokeDefinition, MachineContext, Mapper, StateNodeConfig, StateNodeDefinition, StateNodesConfig, TransitionDefinition, TransitionDefinitionMap, TODO } from "./types.js";
3
+ import type { DelayedTransitionDefinition, EventObject, InitialTransitionDefinition, InvokeDefinition, MachineContext, Mapper, StateNodeConfig, StateNodeDefinition, StateNodesConfig, TransitionDefinition, TransitionDefinitionMap, TODO, UnknownAction, ParameterizedObject, AnyStateMachine } from "./types.js";
4
4
  interface StateNodeOptions<TContext extends MachineContext, TEvent extends EventObject> {
5
5
  _key: string;
6
6
  _parent?: StateNode<TContext, TEvent>;
7
- _machine: StateMachine<TContext, TEvent, any, any, any>;
7
+ _machine: AnyStateMachine;
8
8
  }
9
9
  export declare class StateNode<TContext extends MachineContext = MachineContext, TEvent extends EventObject = EventObject> {
10
10
  /**
11
11
  * The raw config used to create the machine.
12
12
  */
13
- config: StateNodeConfig<TContext, TEvent, TODO, TODO>;
13
+ config: StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO>;
14
14
  /**
15
15
  * The relative key of the state node, which represents its location in the overall state value.
16
16
  */
@@ -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: Action<any, any, any>[];
50
+ entry: UnknownAction[];
51
51
  /**
52
52
  * The action(s) to be executed upon exiting the state node.
53
53
  */
54
- exit: Action<any, any, any>[];
54
+ exit: UnknownAction[];
55
55
  /**
56
56
  * The parent state node.
57
57
  */
@@ -59,7 +59,7 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
59
59
  /**
60
60
  * The root machine node.
61
61
  */
62
- machine: StateMachine<TContext, TEvent, any, any, TODO, TODO>;
62
+ machine: StateMachine<TContext, TEvent, any, any, TODO, TODO, TODO, TODO>;
63
63
  /**
64
64
  * The meta data associated with this state node, which will be returned in State instances.
65
65
  */
@@ -80,7 +80,7 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
80
80
  /**
81
81
  * The raw config used to create the machine.
82
82
  */
83
- config: StateNodeConfig<TContext, TEvent, TODO, TODO>, options: StateNodeOptions<TContext, TEvent>);
83
+ config: StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO>, options: StateNodeOptions<TContext, TEvent>);
84
84
  _initialize(): void;
85
85
  /**
86
86
  * The well-structured state node definition.
@@ -90,14 +90,14 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
90
90
  /**
91
91
  * The logic invoked as actors by this state node.
92
92
  */
93
- get invoke(): Array<InvokeDefinition<TContext, TEvent>>;
93
+ get invoke(): Array<InvokeDefinition<TContext, TEvent, ParameterizedObject, ParameterizedObject>>;
94
94
  /**
95
95
  * The mapping of events to transitions.
96
96
  */
97
97
  get on(): TransitionDefinitionMap<TContext, TEvent>;
98
98
  get after(): Array<DelayedTransitionDefinition<TContext, TEvent>>;
99
99
  get initial(): InitialTransitionDefinition<TContext, TEvent>;
100
- next(state: State<TContext, TEvent, TODO>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
100
+ next(state: State<TContext, TEvent, TODO, TODO>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
101
101
  /**
102
102
  * The target state value of the history state node, if it exists. This represents the
103
103
  * default state value to transition to if no history value exists yet.
@@ -1,16 +1,16 @@
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>;
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
4
  }): AnyState[];
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, TEvent extends EventObject = TExpressionEvent>(assignment: Assigner<LowInfer<TContext>, TExpressionEvent> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent>): {
11
- (_: ActionArgs<TContext, TExpressionEvent>): void;
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
12
  type: string;
13
- assignment: Assigner<LowInfer<TContext>, TExpressionEvent> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent>;
13
+ assignment: Assigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction>;
14
14
  resolve: typeof resolve;
15
15
  };
16
16
  export {};
@@ -1,7 +1,7 @@
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>;
1
+ import { AnyActorContext, AnyState, EventObject, MachineContext, ActionArgs, ParameterizedObject } from "../types.js";
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
5
  }): (string | AnyState)[];
6
6
  declare function execute(actorContext: AnyActorContext, resolvedSendId: string): void;
7
7
  /**
@@ -11,10 +11,10 @@ declare function execute(actorContext: AnyActorContext, resolvedSendId: string):
11
11
  *
12
12
  * @param sendId The `id` of the `send(...)` action to cancel.
13
13
  */
14
- export declare function cancel<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(sendId: ResolvableSendId<TContext, TExpressionEvent>): {
15
- (_: ActionArgs<TContext, TExpressionEvent>): void;
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
16
  type: string;
17
- sendId: ResolvableSendId<TContext, TExpressionEvent>;
17
+ sendId: ResolvableSendId<TContext, TExpressionEvent, TExpressionAction>;
18
18
  resolve: typeof resolve;
19
19
  execute: typeof execute;
20
20
  };
@@ -1,11 +1,5 @@
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;
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>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, NoInfer<TAction>>>): {
3
+ (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
4
+ _out_TAction?: TAction | undefined;
10
5
  };
11
- export {};
@@ -1,7 +1,7 @@
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>;
1
+ import { ActionArgs, AnyActorContext, AnyState, EventObject, LogExpr, MachineContext, ParameterizedObject } from "../types.js";
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
5
  label: string | undefined;
6
6
  }): (AnyState | {
7
7
  value: unknown;
@@ -19,10 +19,10 @@ declare function execute({ logger }: AnyActorContext, { value, label }: {
19
19
  * - `event` - the event that caused this action to be executed.
20
20
  * @param label The label to give to the logged expression.
21
21
  */
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;
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
24
  type: string;
25
- value: ResolvableLogValue<TContext, TExpressionEvent>;
25
+ value: ResolvableLogValue<TContext, TExpressionEvent, TExpressionAction>;
26
26
  label: string | undefined;
27
27
  resolve: typeof resolve;
28
28
  execute: typeof execute;
@@ -1,20 +1,9 @@
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)[];
8
- export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent>(getActions: ({ context, event }: {
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>(getActions: ({ context, event }: {
9
3
  context: TContext;
10
4
  event: TExpressionEvent;
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;
5
+ }) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>> | undefined): {
6
+ (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
7
+ _out_TAction?: TAction | undefined;
8
+ _out_TEvent?: TEvent | undefined;
19
9
  };
20
- export {};
@@ -1,11 +1,11 @@
1
- import { ActionArgs, EventObject, MachineContext, NoInfer, RaiseActionOptions, SendExpr } from "../types.js";
1
+ import { ActionArgs, EventObject, MachineContext, NoInfer, RaiseActionOptions, SendExpr, ParameterizedObject } 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>): {
9
- (args: ActionArgs<TContext, TExpressionEvent>): void;
8
+ export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction>): {
9
+ (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
10
10
  _out_TEvent?: TEvent | undefined;
11
11
  };
@@ -1,9 +1,9 @@
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 }: {
1
+ import { ActionArgs, ActorRef, AnyActorContext, AnyActorRef, AnyEventObject, AnyState, Cast, DelayExpr, EventFrom, EventObject, InferEvent, MachineContext, SendExpr, SendToActionOptions, SendToActionParams, UnifiedArg, ParameterizedObject } from "../types.js";
2
+ declare function resolve(actorContext: AnyActorContext, state: AnyState, args: ActionArgs<any, any, any>, { to, event: eventOrExpr, id, delay }: {
3
3
  to: AnyActorRef | string | ((args: UnifiedArg<MachineContext, EventObject>) => AnyActorRef | string);
4
- event: EventObject | SendExpr<MachineContext, EventObject, EventObject>;
4
+ event: EventObject | SendExpr<MachineContext, EventObject, ParameterizedObject | undefined, EventObject>;
5
5
  id: string | undefined;
6
- delay: string | number | DelayExpr<MachineContext, EventObject> | undefined;
6
+ delay: string | number | DelayExpr<MachineContext, EventObject, ParameterizedObject | undefined> | undefined;
7
7
  }): (AnyState | {
8
8
  to: AnyActorRef;
9
9
  event: EventObject;
@@ -25,13 +25,13 @@ declare function execute(actorContext: AnyActorContext, params: {
25
25
  * - `id` - The unique send event identifier (used with `cancel()`).
26
26
  * - `delay` - The number of milliseconds to delay the sending of the event.
27
27
  */
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;
28
+ export declare function sendTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends AnyActorRef>(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>): {
29
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
30
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").ProvidedActor, infer ____, infer _____> ? TEvent_1 : R extends import("../State.js").State<infer _TContext extends MachineContext, infer TEvent_2 extends EventObject, infer _TAction extends import("../types.js").ProvidedActor, infer _TActor> ? TEvent_2 : R extends ActorRef<infer TEvent_3 extends EventObject, infer __1> ? 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").ProvidedActor, infer ____, infer _____> ? TEvent_1 : R extends import("../State.js").State<infer _TContext extends MachineContext, infer TEvent_2 extends EventObject, infer _TAction extends import("../types.js").ProvidedActor, infer _TActor> ? TEvent_2 : R extends ActorRef<infer TEvent_3 extends EventObject, infer __1> ? TEvent_3 : never : never, EventObject>>>;
31
+ to: string | TActor | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => TActor | string);
32
+ event: ((TActor extends import("../types.js").AnyFunction ? ReturnType<TActor> : TActor) extends infer R ? R extends import("../StateMachine.js").StateMachine<infer _TContext extends MachineContext, infer TEvent extends EventObject, infer _TActor extends import("../types.js").ProvidedActor, infer _TAction extends ParameterizedObject, infer _TGuard extends ParameterizedObject, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends import("../State.js").State<infer _TContext_1 extends MachineContext, infer TEvent_1 extends EventObject, infer _TActor_1 extends import("../types.js").ProvidedActor, infer _TOutput_1, infer _TResolvedTypesMeta_1> ? TEvent_1 : R extends ActorRef<infer TEvent_2 extends EventObject, infer _> ? TEvent_2 : never : never) | SendExpr<TContext, TExpressionEvent, TExpressionAction, InferEvent<Cast<(TActor extends import("../types.js").AnyFunction ? ReturnType<TActor> : TActor) extends infer R ? R extends import("../StateMachine.js").StateMachine<infer _TContext extends MachineContext, infer TEvent extends EventObject, infer _TActor extends import("../types.js").ProvidedActor, infer _TAction extends ParameterizedObject, infer _TGuard extends ParameterizedObject, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends import("../State.js").State<infer _TContext_1 extends MachineContext, infer TEvent_1 extends EventObject, infer _TActor_1 extends import("../types.js").ProvidedActor, infer _TOutput_1, infer _TResolvedTypesMeta_1> ? TEvent_1 : R extends ActorRef<infer TEvent_2 extends EventObject, infer _> ? TEvent_2 : never : never, EventObject>>>;
33
33
  id: string | undefined;
34
- delay: string | number | DelayExpr<TContext, TExpressionEvent> | undefined;
34
+ delay: string | number | DelayExpr<TContext, TExpressionEvent, TExpressionAction> | undefined;
35
35
  resolve: typeof resolve;
36
36
  execute: typeof execute;
37
37
  };
@@ -41,30 +41,30 @@ export declare function sendTo<TContext extends MachineContext, TExpressionEvent
41
41
  * @param event The event to send to the parent machine.
42
42
  * @param options Options to pass into the send event.
43
43
  */
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;
44
+ export declare function sendParent<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject = AnyEventObject>(event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction>): {
45
+ (_: ActionArgs<TContext, TExpressionEvent, TSentEvent>): void;
46
46
  type: string;
47
- to: string | AnyActorRef | ((args: UnifiedArg<TContext, TExpressionEvent>) => string | AnyActorRef);
47
+ to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, TSentEvent>) => string | AnyActorRef);
48
48
  event: any;
49
49
  id: string | undefined;
50
- delay: string | number | DelayExpr<TContext, TExpressionEvent> | undefined;
50
+ delay: string | number | DelayExpr<TContext, TExpressionEvent, TSentEvent> | undefined;
51
51
  resolve: typeof resolve;
52
52
  execute: typeof execute;
53
53
  };
54
- type Target<TContext extends MachineContext, TEvent extends EventObject> = string | ActorRef<any, any> | ((args: UnifiedArg<TContext, TEvent>) => string | ActorRef<any, any>);
54
+ 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>);
55
55
  /**
56
56
  * Forwards (sends) an event to a specified service.
57
57
  *
58
58
  * @param target The target service to forward the event to.
59
59
  * @param options Options to pass into the send action creator.
60
60
  */
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;
61
+ export declare function forwardTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(target: Target<TContext, TExpressionEvent, TExpressionAction>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction>): {
62
+ (_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
63
63
  type: string;
64
- to: string | AnyActorRef | ((args: UnifiedArg<TContext, TExpressionEvent>) => string | AnyActorRef);
64
+ to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => string | AnyActorRef);
65
65
  event: any;
66
66
  id: string | undefined;
67
- delay: string | number | DelayExpr<TContext, TExpressionEvent> | undefined;
67
+ delay: string | number | DelayExpr<TContext, TExpressionEvent, TExpressionAction> | undefined;
68
68
  resolve: typeof resolve;
69
69
  execute: typeof execute;
70
70
  };
@@ -75,13 +75,13 @@ export declare function forwardTo<TContext extends MachineContext, TExpressionEv
75
75
  * takes in the `context`, `event`, and `meta`, and returns the error data to send.
76
76
  * @param options Options to pass into the send action creator.
77
77
  */
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;
78
+ 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>): {
79
+ (_: ActionArgs<TContext, TExpressionEvent, EventObject>): void;
80
80
  type: string;
81
- to: string | AnyActorRef | ((args: UnifiedArg<TContext, TExpressionEvent>) => string | AnyActorRef);
81
+ to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, EventObject>) => string | AnyActorRef);
82
82
  event: any;
83
83
  id: string | undefined;
84
- delay: string | number | DelayExpr<TContext, TExpressionEvent> | undefined;
84
+ delay: string | number | DelayExpr<TContext, TExpressionEvent, EventObject> | undefined;
85
85
  resolve: typeof resolve;
86
86
  execute: typeof execute;
87
87
  };
@@ -1,7 +1,7 @@
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>;
1
+ import { ActionArgs, ActorRef, AnyActorContext, AnyState, 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
+ declare function resolve(_: AnyActorContext, state: AnyState, args: ActionArgs<any, any, any>, { actorRef }: {
4
+ actorRef: ResolvableActorRef<any, any, any>;
5
5
  }): (AnyState | ActorRef<any, any>)[];
6
6
  declare function execute(actorContext: AnyActorContext, actorRef: ActorRef<any, any> | undefined): void;
7
7
  /**
@@ -9,10 +9,10 @@ declare function execute(actorContext: AnyActorContext, actorRef: ActorRef<any,
9
9
  *
10
10
  * @param actorRef The actor to stop.
11
11
  */
12
- export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject>(actorRef: ResolvableActorRef<TContext, TExpressionEvent>): {
13
- (_: ActionArgs<TContext, TExpressionEvent>): void;
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
14
  type: string;
15
- actorRef: ResolvableActorRef<TContext, TExpressionEvent>;
15
+ actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction>;
16
16
  resolve: typeof resolve;
17
17
  execute: typeof execute;
18
18
  };
@@ -1,8 +1,17 @@
1
- import type { EventObject, StateValue, BooleanGuardDefinition, GuardConfig, GuardDefinition, GuardPredicate, MachineContext, TODO } from "./types.js";
2
- import type { State } from "./State.js";
3
- export declare function stateIn<TContext extends MachineContext, TEvent extends EventObject>(stateValue: StateValue): GuardDefinition<TContext, TEvent>;
4
- export declare function not<TContext extends MachineContext, TEvent extends EventObject>(guard: GuardConfig<TContext, TEvent>): BooleanGuardDefinition<TContext, TEvent>;
5
- export declare function and<TContext extends MachineContext, TEvent extends EventObject>(guards: Array<GuardConfig<TContext, TEvent>>): BooleanGuardDefinition<TContext, TEvent>;
6
- export declare function or<TContext extends MachineContext, TEvent extends EventObject>(guards: Array<GuardConfig<TContext, TEvent>>): BooleanGuardDefinition<TContext, TEvent>;
7
- export declare function evaluateGuard<TContext extends MachineContext, TEvent extends EventObject>(guard: GuardDefinition<TContext, TEvent>, context: TContext, event: TEvent, state: State<TContext, TEvent, TODO, TODO>): boolean;
8
- export declare function toGuardDefinition<TContext extends MachineContext, TEvent extends EventObject>(guardConfig: GuardConfig<TContext, TEvent>, getPredicate?: (guardType: string) => GuardPredicate<TContext, TEvent> | GuardDefinition<TContext, TEvent>): GuardDefinition<TContext, TEvent>;
1
+ import type { EventObject, StateValue, MachineContext, ParameterizedObject, AnyState, NoRequiredParams, NoInfer } from "./types.js";
2
+ export type GuardPredicate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject> = {
3
+ (args: GuardArgs<TContext, TExpressionEvent, TExpressionGuard>): boolean;
4
+ _out_TGuard?: TGuard;
5
+ };
6
+ export interface GuardArgs<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined> {
7
+ context: TContext;
8
+ event: TExpressionEvent;
9
+ guard: TExpressionGuard;
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>;
12
+ export type UnknownGuard = Guard<MachineContext, EventObject, ParameterizedObject | undefined, ParameterizedObject>;
13
+ export declare function stateIn<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined>(stateValue: StateValue): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, any>;
14
+ export declare function not<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject>(guard: Guard<TContext, TExpressionEvent, TExpressionGuard, NoInfer<TGuard>>): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
15
+ export declare function and<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject>(guards: ReadonlyArray<Guard<TContext, TExpressionEvent, TExpressionGuard, NoInfer<TGuard>>>): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
16
+ export declare function or<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject>(guards: ReadonlyArray<Guard<TContext, TExpressionEvent, TExpressionGuard, NoInfer<TGuard>>>): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
17
+ export declare function evaluateGuard<TContext extends MachineContext, TExpressionEvent extends EventObject>(guard: UnknownGuard, context: TContext, event: TExpressionEvent, state: AnyState): boolean;
@@ -96,7 +96,7 @@ export declare class Actor<TLogic extends AnyActorLogic, TEvent extends EventObj
96
96
  id: string;
97
97
  };
98
98
  getPersistedState(): PersistedStateFrom<TLogic> | undefined;
99
- [Symbol.observable](): InteropSubscribable<SnapshotFrom<TLogic>>;
99
+ [symbolObservable](): InteropSubscribable<SnapshotFrom<TLogic>>;
100
100
  getSnapshot(): SnapshotFrom<TLogic>;
101
101
  }
102
102
  /**
@@ -1,6 +1,6 @@
1
1
  import { State } from "./State.js";
2
2
  import type { StateNode } from "./StateNode.js";
3
- import { Action, AnyActorContext, AnyHistoryValue, AnyState, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, EventObject, InitialTransitionConfig, InitialTransitionDefinition, MachineContext, SingleOrArray, StateValue, StateValueMap, TransitionConfig, TransitionDefinition, TODO } from "./types.js";
3
+ import { AnyActorContext, AnyHistoryValue, AnyState, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, EventObject, InitialTransitionConfig, InitialTransitionDefinition, MachineContext, SingleOrArray, StateValue, StateValueMap, TransitionDefinition, TODO, UnknownAction, AnyTransitionConfig } from "./types.js";
4
4
  type Configuration<TContext extends MachineContext, TE extends EventObject> = Iterable<StateNode<TContext, TE>>;
5
5
  type AnyConfiguration = Configuration<any, any>;
6
6
  type AdjList = Map<AnyStateNode, Array<AnyStateNode>>;
@@ -14,11 +14,11 @@ export declare function getCandidates<TEvent extends EventObject>(stateNode: Sta
14
14
  /**
15
15
  * All delayed transitions from the config.
16
16
  */
17
- export declare function getDelayedTransitions<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode): Array<DelayedTransitionDefinition<TContext, TEvent>>;
18
- export declare function formatTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, descriptor: string, transitionConfig: TransitionConfig<TContext, TEvent>): AnyTransitionDefinition;
17
+ export declare function getDelayedTransitions(stateNode: AnyStateNode): Array<DelayedTransitionDefinition<MachineContext, EventObject>>;
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>): InitialTransitionDefinition<TContext, TEvent>;
21
- export declare function resolveTarget(stateNode: AnyStateNode, targets: Array<string | AnyStateNode> | undefined): Array<AnyStateNode> | undefined;
20
+ export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: SingleOrArray<string> | InitialTransitionConfig<TContext, TEvent, TODO, TODO>): InitialTransitionDefinition<TContext, TEvent>;
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
  /**
24
24
  * Returns the child state node from its relative `stateKey`, or throws.
@@ -35,11 +35,11 @@ export declare function getStateNodeByPath(stateNode: AnyStateNode, statePath: s
35
35
  *
36
36
  * @param state The state value or State instance
37
37
  */
38
- export declare function getStateNodes<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, state: StateValue | State<TContext, TEvent, TODO>): Array<AnyStateNode>;
39
- export declare function transitionAtomicNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: string, state: State<TContext, TEvent, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
40
- export declare function transitionCompoundNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
41
- export declare function transitionParallelNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
42
- export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, state: State<TContext, TEvent, TODO, any>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
38
+ export declare function getStateNodes<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, state: StateValue | State<TContext, TEvent, TODO, TODO>): Array<AnyStateNode>;
39
+ export declare function transitionAtomicNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: string, state: State<TContext, TEvent, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
40
+ export declare function transitionCompoundNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
41
+ export declare function transitionParallelNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
42
+ export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, state: State<TContext, TEvent, TODO, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
43
43
  export declare function removeConflictingTransitions(enabledTransitions: Array<AnyTransitionDefinition>, configuration: Set<AnyStateNode>, historyValue: AnyHistoryValue): Array<AnyTransitionDefinition>;
44
44
  /**
45
45
  * https://www.w3.org/TR/scxml/#microstepProcedure
@@ -49,8 +49,8 @@ export declare function removeConflictingTransitions(enabledTransitions: Array<A
49
49
  * @param currentState
50
50
  * @param mutConfiguration
51
51
  */
52
- export declare function microstep<TContext extends MachineContext, TEvent extends EventObject>(transitions: Array<TransitionDefinition<TContext, TEvent>>, currentState: State<TContext, TEvent, TODO, any>, actorCtx: AnyActorContext, event: TEvent, isInitial: boolean): State<TContext, TEvent, TODO, any>;
53
- export declare function resolveActionsAndContext<TContext extends MachineContext, TEvent extends EventObject>(actions: Action<any, any, any>[], event: TEvent, currentState: State<TContext, TEvent, TODO, any>, actorCtx: AnyActorContext): AnyState;
52
+ export declare function microstep<TContext extends MachineContext, TEvent extends EventObject>(transitions: Array<TransitionDefinition<TContext, TEvent>>, currentState: AnyState, actorCtx: AnyActorContext, event: TEvent, isInitial: boolean): AnyState;
53
+ export declare function resolveActionsAndContext<TContext extends MachineContext, TExpressionEvent extends EventObject>(actions: UnknownAction[], event: TExpressionEvent, currentState: AnyState, actorCtx: AnyActorContext): AnyState;
54
54
  export declare function macrostep(state: AnyState, event: EventObject, actorCtx: AnyActorContext): {
55
55
  state: typeof state;
56
56
  microstates: Array<typeof state>;