xstate 5.0.0-beta.24 → 5.0.0-beta.25

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 (38) 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.map +1 -1
  6. package/actors/dist/xstate-actors.cjs.js +1 -1
  7. package/actors/dist/xstate-actors.development.cjs.js +1 -1
  8. package/actors/dist/xstate-actors.development.esm.js +1 -1
  9. package/actors/dist/xstate-actors.esm.js +1 -1
  10. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  11. package/dist/{actions-43f7d40e.development.cjs.js → actions-0971b43d.development.cjs.js} +4 -5
  12. package/dist/{actions-6a8cda73.cjs.js → actions-319cefe7.cjs.js} +4 -5
  13. package/dist/{actions-7b182232.esm.js → actions-5943a9db.esm.js} +4 -5
  14. package/dist/{actions-194e6dcc.development.esm.js → actions-cf69419d.development.esm.js} +4 -5
  15. package/dist/declarations/src/Machine.d.ts +2 -2
  16. package/dist/declarations/src/State.d.ts +7 -3
  17. package/dist/declarations/src/StateMachine.d.ts +20 -16
  18. package/dist/declarations/src/StateNode.d.ts +21 -5
  19. package/dist/declarations/src/actions/choose.d.ts +3 -1
  20. package/dist/declarations/src/actions/pure.d.ts +5 -3
  21. package/dist/declarations/src/actions/raise.d.ts +2 -1
  22. package/dist/declarations/src/actions/send.d.ts +11 -55
  23. package/dist/declarations/src/guards.d.ts +5 -2
  24. package/dist/declarations/src/stateUtils.d.ts +7 -6
  25. package/dist/declarations/src/typegenTypes.d.ts +12 -4
  26. package/dist/declarations/src/types.d.ts +96 -85
  27. package/dist/xstate.cjs.js +3 -1
  28. package/dist/xstate.development.cjs.js +3 -1
  29. package/dist/xstate.development.esm.js +4 -2
  30. package/dist/xstate.esm.js +4 -2
  31. package/dist/xstate.umd.min.js +1 -1
  32. package/dist/xstate.umd.min.js.map +1 -1
  33. package/guards/dist/xstate-guards.cjs.js +1 -1
  34. package/guards/dist/xstate-guards.development.cjs.js +1 -1
  35. package/guards/dist/xstate-guards.development.esm.js +1 -1
  36. package/guards/dist/xstate-guards.esm.js +1 -1
  37. package/guards/dist/xstate-guards.umd.min.js.map +1 -1
  38. package/package.json +1 -1
@@ -1575,11 +1575,7 @@ function evaluateGuard(guard, context, event, state) {
1575
1575
  machine
1576
1576
  } = state;
1577
1577
  const isInline = typeof guard === 'function';
1578
- const resolved = isInline ? guard :
1579
- // the existing type of `.guards` assumes non-nullable `TExpressionGuard`
1580
- // it's fine to cast this here to get a common type and lack of errors in the rest of the code
1581
- // our logic below makes sure that we call those 2 "variants" correctly
1582
- machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
1578
+ const resolved = isInline ? guard : machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
1583
1579
  if (!isInline && !resolved) {
1584
1580
  throw new Error(`Guard '${typeof guard === 'string' ? guard : guard.type}' is not implemented.'.`);
1585
1581
  }
@@ -1594,6 +1590,9 @@ function evaluateGuard(guard, context, event, state) {
1594
1590
  } : guard
1595
1591
  };
1596
1592
  if (!('check' in resolved)) {
1593
+ // the existing type of `.guards` assumes non-nullable `TExpressionGuard`
1594
+ // inline guards expect `TExpressionGuard` to be set to `undefined`
1595
+ // it's fine to cast this here, our logic makes sure that we call those 2 "variants" correctly
1597
1596
  return resolved(guardArgs);
1598
1597
  }
1599
1598
  const builtinGuard = resolved;
@@ -1537,11 +1537,7 @@ function evaluateGuard(guard, context, event, state) {
1537
1537
  machine
1538
1538
  } = state;
1539
1539
  const isInline = typeof guard === 'function';
1540
- const resolved = isInline ? guard :
1541
- // the existing type of `.guards` assumes non-nullable `TExpressionGuard`
1542
- // it's fine to cast this here to get a common type and lack of errors in the rest of the code
1543
- // our logic below makes sure that we call those 2 "variants" correctly
1544
- machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
1540
+ const resolved = isInline ? guard : machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
1545
1541
  if (!isInline && !resolved) {
1546
1542
  throw new Error(`Guard '${typeof guard === 'string' ? guard : guard.type}' is not implemented.'.`);
1547
1543
  }
@@ -1556,6 +1552,9 @@ function evaluateGuard(guard, context, event, state) {
1556
1552
  } : guard
1557
1553
  };
1558
1554
  if (!('check' in resolved)) {
1555
+ // the existing type of `.guards` assumes non-nullable `TExpressionGuard`
1556
+ // inline guards expect `TExpressionGuard` to be set to `undefined`
1557
+ // it's fine to cast this here, our logic makes sure that we call those 2 "variants" correctly
1559
1558
  return resolved(guardArgs);
1560
1559
  }
1561
1560
  const builtinGuard = resolved;
@@ -1535,11 +1535,7 @@ function evaluateGuard(guard, context, event, state) {
1535
1535
  machine
1536
1536
  } = state;
1537
1537
  const isInline = typeof guard === 'function';
1538
- const resolved = isInline ? guard :
1539
- // the existing type of `.guards` assumes non-nullable `TExpressionGuard`
1540
- // it's fine to cast this here to get a common type and lack of errors in the rest of the code
1541
- // our logic below makes sure that we call those 2 "variants" correctly
1542
- machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
1538
+ const resolved = isInline ? guard : machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
1543
1539
  if (!isInline && !resolved) {
1544
1540
  throw new Error(`Guard '${typeof guard === 'string' ? guard : guard.type}' is not implemented.'.`);
1545
1541
  }
@@ -1554,6 +1550,9 @@ function evaluateGuard(guard, context, event, state) {
1554
1550
  } : guard
1555
1551
  };
1556
1552
  if (!('check' in resolved)) {
1553
+ // the existing type of `.guards` assumes non-nullable `TExpressionGuard`
1554
+ // inline guards expect `TExpressionGuard` to be set to `undefined`
1555
+ // it's fine to cast this here, our logic makes sure that we call those 2 "variants" correctly
1557
1556
  return resolved(guardArgs);
1558
1557
  }
1559
1558
  const builtinGuard = resolved;
@@ -1573,11 +1573,7 @@ function evaluateGuard(guard, context, event, state) {
1573
1573
  machine
1574
1574
  } = state;
1575
1575
  const isInline = typeof guard === 'function';
1576
- const resolved = isInline ? guard :
1577
- // the existing type of `.guards` assumes non-nullable `TExpressionGuard`
1578
- // it's fine to cast this here to get a common type and lack of errors in the rest of the code
1579
- // our logic below makes sure that we call those 2 "variants" correctly
1580
- machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
1576
+ const resolved = isInline ? guard : machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
1581
1577
  if (!isInline && !resolved) {
1582
1578
  throw new Error(`Guard '${typeof guard === 'string' ? guard : guard.type}' is not implemented.'.`);
1583
1579
  }
@@ -1592,6 +1588,9 @@ function evaluateGuard(guard, context, event, state) {
1592
1588
  } : guard
1593
1589
  };
1594
1590
  if (!('check' in resolved)) {
1591
+ // the existing type of `.guards` assumes non-nullable `TExpressionGuard`
1592
+ // inline guards expect `TExpressionGuard` to be set to `undefined`
1593
+ // it's fine to cast this here, our logic makes sure that we call those 2 "variants" correctly
1595
1594
  return resolved(guardArgs);
1596
1595
  }
1597
1596
  const builtinGuard = resolved;
@@ -1,4 +1,4 @@
1
- import { MachineConfig, EventObject, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, AnyEventObject, NonReducibleUnknown } from "./types.js";
1
+ import { MachineConfig, EventObject, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, AnyEventObject, NonReducibleUnknown, Prop } from "./types.js";
2
2
  import { TypegenConstraint, TypegenDisabled, ResolveTypegenMeta } from "./typegenTypes.js";
3
3
  import { StateMachine } from "./StateMachine.js";
4
- export declare function createMachine<TContext extends MachineContext, TEvent extends EventObject = AnyEventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TInput = any, TOutput = NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, TEvent, TAction, TGuard, TActor, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, TEvent, TActor, TAction, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard>>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TInput, TOutput, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard>>;
4
+ export declare function createMachine<TContext extends MachineContext, TEvent extends EventObject = AnyEventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TInput = any, TOutput = NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TDelay, Prop<ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>['resolved'], 'tags'> & string, TInput, TOutput, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
@@ -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, TOutput, TResolvedTypesMeta = TypegenDisabled> {
15
+ export declare class State<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TTag extends string, TOutput, TResolvedTypesMeta = TypegenDisabled> {
16
16
  machine: AnyStateMachine;
17
17
  tags: Set<string>;
18
18
  value: StateValue;
@@ -41,7 +41,11 @@ 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, any> | StateValue, context: TContext | undefined, machine: AnyStateMachine): State<TContext, TEvent, TODO, any, any>;
44
+ static from<TContext extends MachineContext, TEvent extends EventObject = EventObject>(stateValue: State<TContext, TEvent, TODO, any, // tags
45
+ any, // output
46
+ any> | StateValue, context: TContext | undefined, machine: AnyStateMachine): State<TContext, TEvent, TODO, any, // tags
47
+ any, // output
48
+ any>;
45
49
  /**
46
50
  * Creates a new `State` instance that represents the current state of a running machine.
47
51
  *
@@ -67,7 +71,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
67
71
  * Whether the current state configuration has a state node with the specified `tag`.
68
72
  * @param tag
69
73
  */
70
- hasTag(tag: TResolvedTypesMeta extends TypegenEnabled ? Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'tags'> : string): boolean;
74
+ hasTag(tag: TTag): boolean;
71
75
  /**
72
76
  * Determines whether sending the `event` will cause a non-forbidden transition
73
77
  * to be selected, even if the transitions have no actions nor
@@ -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, 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> {
7
+ export declare class StateMachine<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TActor, TAction, TGuard, TDelay, TTag>> implements ActorLogic<TEvent, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TActor, TTag, 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, any, TOutput, any>;
11
+ config: MachineConfig<TContext, TEvent, any, any, 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, TAction, TGuard, TActor, TInput, TOutput, TResolvedTypesMeta>;
17
+ types: MachineTypes<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, 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, any, TOutput, any>, implementations?: MachineImplementationsSimplified<TContext, TEvent>);
28
+ config: MachineConfig<TContext, TEvent, any, any, 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, TActor, TAction, TResolvedTypesMeta, true>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TInput, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>;
38
+ provide(implementations: InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, TResolvedTypesMeta, true>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, 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, TOutput, TResolvedTypesMeta>): typeof state;
47
- resolveStateValue(stateValue: StateValue, ...[context]: Equals<TContext, MachineContext> extends true ? [] : [TContext]): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
46
+ resolveState(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>): typeof state;
47
+ resolveStateValue(stateValue: StateValue, ...[context]: Equals<TContext, MachineContext> extends true ? [] : [TContext]): State<TContext, TEvent, TActor, TTag, 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, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: ActorContext<TEvent, typeof state>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
55
+ transition(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: ActorContext<TEvent, typeof state>): State<TContext, TEvent, TActor, TTag, 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, 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>>;
63
+ microstep(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: AnyActorContext): Array<State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>;
64
+ getTransitionData(state: State<TContext, TEvent, TActor, TTag, 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,14 +70,14 @@ 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, TOutput, TResolvedTypesMeta>>, input?: TInput): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
74
- start(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): void;
73
+ getInitialState(actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>, input?: TInput): State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>;
74
+ start(state: State<TContext, TEvent, TActor, TTag, 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, 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>): {
78
+ getPersistedState(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>): PersistedMachineState<State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>;
79
+ createState(stateConfig: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta> | StateConfig<TContext, TEvent>): State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>;
80
+ getStatus(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>): {
81
81
  status: string;
82
82
  data: {};
83
83
  } | {
@@ -87,7 +87,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
87
87
  status: string;
88
88
  data?: undefined;
89
89
  };
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>;
90
+ restoreState(state: PersistedMachineState<State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>, _actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>): State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>;
91
91
  /**@deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
92
92
  __TContext: TContext;
93
93
  /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
@@ -99,6 +99,10 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
99
99
  /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
100
100
  __TGuard: TGuard;
101
101
  /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
102
+ __TDelay: TDelay;
103
+ /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
104
+ __TTag: TTag;
105
+ /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
102
106
  __TInput: TInput;
103
107
  /** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
104
108
  __TOutput: TOutput;
@@ -10,7 +10,12 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
10
10
  /**
11
11
  * The raw config used to create the machine.
12
12
  */
13
- config: StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO>;
13
+ config: StateNodeConfig<TContext, TEvent, TODO, // actions
14
+ TODO, // actors
15
+ TODO, // output
16
+ TODO, // guards
17
+ TODO, // delays
18
+ TODO>;
14
19
  /**
15
20
  * The relative key of the state node, which represents its location in the overall state value.
16
21
  */
@@ -59,7 +64,13 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
59
64
  /**
60
65
  * The root machine node.
61
66
  */
62
- machine: StateMachine<TContext, TEvent, any, any, TODO, TODO, TODO, TODO>;
67
+ machine: StateMachine<TContext, TEvent, any, // actors
68
+ any, // input
69
+ TODO, // output
70
+ TODO, // guards
71
+ TODO, // delays
72
+ TODO, // tags
73
+ TODO>;
63
74
  /**
64
75
  * The meta data associated with this state node, which will be returned in State instances.
65
76
  */
@@ -80,7 +91,12 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
80
91
  /**
81
92
  * The raw config used to create the machine.
82
93
  */
83
- config: StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO>, options: StateNodeOptions<TContext, TEvent>);
94
+ config: StateNodeConfig<TContext, TEvent, TODO, // actions
95
+ TODO, // actors
96
+ TODO, // output
97
+ TODO, // guards
98
+ TODO, // delays
99
+ TODO>, options: StateNodeOptions<TContext, TEvent>);
84
100
  _initialize(): void;
85
101
  /**
86
102
  * The well-structured state node definition.
@@ -90,14 +106,14 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
90
106
  /**
91
107
  * The logic invoked as actors by this state node.
92
108
  */
93
- get invoke(): Array<InvokeDefinition<TContext, TEvent, ParameterizedObject, ParameterizedObject>>;
109
+ get invoke(): Array<InvokeDefinition<TContext, TEvent, ParameterizedObject, ParameterizedObject, string>>;
94
110
  /**
95
111
  * The mapping of events to transitions.
96
112
  */
97
113
  get on(): TransitionDefinitionMap<TContext, TEvent>;
98
114
  get after(): Array<DelayedTransitionDefinition<TContext, TEvent>>;
99
115
  get initial(): InitialTransitionDefinition<TContext, TEvent>;
100
- next(state: State<TContext, TEvent, TODO, TODO>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
116
+ next(state: State<TContext, TEvent, TODO, TODO, TODO, TODO>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
101
117
  /**
102
118
  * The target state value of the history state node, if it exists. This represents the
103
119
  * default state value to transition to if no history value exists yet.
@@ -1,5 +1,7 @@
1
1
  import { EventObject, ChooseBranch, MachineContext, ActionArgs, ParameterizedObject, NoInfer } from "../types.js";
2
- export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, NoInfer<TAction>>>): {
2
+ export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, NoInfer<TAction>, NoInfer<TGuard>, TDelay>>): {
3
3
  (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
4
4
  _out_TAction?: TAction | undefined;
5
+ _out_TGuard?: TGuard | undefined;
6
+ _out_TDelay?: TDelay | undefined;
5
7
  };
@@ -1,9 +1,11 @@
1
1
  import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject, NoInfer } from "../types.js";
2
- export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TAction extends ParameterizedObject = ParameterizedObject>(getActions: ({ context, event }: {
2
+ export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string>(getActions: ({ context, event }: {
3
3
  context: TContext;
4
4
  event: TExpressionEvent;
5
- }) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>> | undefined): {
5
+ }) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined): {
6
6
  (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
7
- _out_TAction?: TAction | undefined;
8
7
  _out_TEvent?: TEvent | undefined;
8
+ _out_TAction?: TAction | undefined;
9
+ _out_TGuard?: TGuard | undefined;
10
+ _out_TDelay?: TDelay | undefined;
9
11
  };
@@ -5,7 +5,8 @@ import { ActionArgs, EventObject, MachineContext, NoInfer, RaiseActionOptions, S
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, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction>): {
8
+ export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TDelay extends string = string>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TDelay>>): {
9
9
  (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
10
10
  _out_TEvent?: TEvent | undefined;
11
+ _out_TDelay?: TDelay | undefined;
11
12
  };
@@ -1,21 +1,4 @@
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
- to: AnyActorRef | string | ((args: UnifiedArg<MachineContext, EventObject>) => AnyActorRef | string);
4
- event: EventObject | SendExpr<MachineContext, EventObject, ParameterizedObject | undefined, EventObject>;
5
- id: string | undefined;
6
- delay: string | number | DelayExpr<MachineContext, EventObject, ParameterizedObject | undefined> | 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;
1
+ import { ActionArgs, ActorRef, AnyActorRef, AnyEventObject, Cast, EventFrom, EventObject, InferEvent, MachineContext, SendExpr, SendToActionOptions, SendToActionParams, UnifiedArg, ParameterizedObject, NoInfer } from "../types.js";
19
2
  /**
20
3
  * Sends an event to an actor.
21
4
  *
@@ -25,15 +8,9 @@ declare function execute(actorContext: AnyActorContext, params: {
25
8
  * - `id` - The unique send event identifier (used with `cancel()`).
26
9
  * - `delay` - The number of milliseconds to delay the sending of the event.
27
10
  */
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
- type: string;
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
- id: string | undefined;
34
- delay: string | number | DelayExpr<TContext, TExpressionEvent, TExpressionAction> | undefined;
35
- resolve: typeof resolve;
36
- execute: typeof execute;
11
+ export declare function sendTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends AnyActorRef, TDelay extends string>(to: TActor | string | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => TActor | string), eventOrExpr: EventFrom<TActor> | SendExpr<TContext, TExpressionEvent, TExpressionAction, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TDelay>>): {
12
+ (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
13
+ _out_TDelay?: TDelay | undefined;
37
14
  };
38
15
  /**
39
16
  * Sends an event to this machine's parent.
@@ -41,15 +18,9 @@ export declare function sendTo<TContext extends MachineContext, TExpressionEvent
41
18
  * @param event The event to send to the parent machine.
42
19
  * @param options Options to pass into the send event.
43
20
  */
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
- type: string;
47
- to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, TSentEvent>) => string | AnyActorRef);
48
- event: any;
49
- id: string | undefined;
50
- delay: string | number | DelayExpr<TContext, TExpressionEvent, TSentEvent> | undefined;
51
- resolve: typeof resolve;
52
- execute: typeof execute;
21
+ export declare function sendParent<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject = AnyEventObject, TDelay extends string = string>(event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay>): {
22
+ (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
23
+ _out_TDelay?: TDelay | undefined;
53
24
  };
54
25
  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
26
  /**
@@ -58,16 +29,7 @@ type Target<TContext extends MachineContext, TExpressionEvent extends EventObjec
58
29
  * @param target The target service to forward the event to.
59
30
  * @param options Options to pass into the send action creator.
60
31
  */
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
- type: string;
64
- to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => string | AnyActorRef);
65
- event: any;
66
- id: string | undefined;
67
- delay: string | number | DelayExpr<TContext, TExpressionEvent, TExpressionAction> | undefined;
68
- resolve: typeof resolve;
69
- execute: typeof execute;
70
- };
32
+ export declare function forwardTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TDelay extends string>(target: Target<TContext, TExpressionEvent, TExpressionAction>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay>): (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => void;
71
33
  /**
72
34
  * Escalates an error by sending it as an event to this machine's parent.
73
35
  *
@@ -75,14 +37,8 @@ export declare function forwardTo<TContext extends MachineContext, TExpressionEv
75
37
  * takes in the `context`, `event`, and `meta`, and returns the error data to send.
76
38
  * @param options Options to pass into the send action creator.
77
39
  */
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
- type: string;
81
- to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, EventObject>) => string | AnyActorRef);
82
- event: any;
83
- id: string | undefined;
84
- delay: string | number | DelayExpr<TContext, TExpressionEvent, EventObject> | undefined;
85
- resolve: typeof resolve;
86
- execute: typeof execute;
40
+ export declare function escalate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TErrorData = any>(errorData: TErrorData | ((args: UnifiedArg<TContext, TExpressionEvent>) => TErrorData), options?: SendToActionParams<TContext, TExpressionEvent, TExpressionAction, EventObject, string>): {
41
+ (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
42
+ _out_TDelay?: string | undefined;
87
43
  };
88
44
  export {};
@@ -9,9 +9,12 @@ export interface GuardArgs<TContext extends MachineContext, TExpressionEvent ext
9
9
  guard: TExpressionGuard;
10
10
  }
11
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>;
12
+ export type UnknownGuard = UnknownReferencedGuard | UnknownInlineGuard;
13
+ type UnknownReferencedGuard = Guard<MachineContext, EventObject, ParameterizedObject, ParameterizedObject>;
14
+ type UnknownInlineGuard = Guard<MachineContext, EventObject, undefined, ParameterizedObject>;
13
15
  export declare function stateIn<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined>(stateValue: StateValue): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, any>;
14
16
  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
17
  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
18
  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;
19
+ export declare function evaluateGuard<TContext extends MachineContext, TExpressionEvent extends EventObject>(guard: UnknownGuard | UnknownInlineGuard, context: TContext, event: TExpressionEvent, state: AnyState): boolean;
20
+ export {};
@@ -17,7 +17,7 @@ export declare function getCandidates<TEvent extends EventObject>(stateNode: Sta
17
17
  export declare function getDelayedTransitions(stateNode: AnyStateNode): Array<DelayedTransitionDefinition<MachineContext, EventObject>>;
18
18
  export declare function formatTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, descriptor: string, transitionConfig: AnyTransitionConfig): AnyTransitionDefinition;
19
19
  export declare function formatTransitions<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode): Map<string, TransitionDefinition<TContext, TEvent>[]>;
20
- export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: SingleOrArray<string> | InitialTransitionConfig<TContext, TEvent, TODO, TODO>): InitialTransitionDefinition<TContext, TEvent>;
20
+ export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: SingleOrArray<string> | InitialTransitionConfig<TContext, TEvent, TODO, TODO, TODO>): InitialTransitionDefinition<TContext, TEvent>;
21
21
  export declare function resolveTarget(stateNode: AnyStateNode, targets: ReadonlyArray<string | AnyStateNode> | undefined): ReadonlyArray<AnyStateNode> | undefined;
22
22
  export declare function getInitialStateNodes(stateNode: AnyStateNode): Array<AnyStateNode>;
23
23
  /**
@@ -35,11 +35,12 @@ 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, 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;
38
+ export declare function getStateNodes<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, state: StateValue | State<TContext, TEvent, TODO, TODO, 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, 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, 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, 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, // output
43
+ TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
43
44
  export declare function removeConflictingTransitions(enabledTransitions: Array<AnyTransitionDefinition>, configuration: Set<AnyStateNode>, historyValue: AnyHistoryValue): Array<AnyTransitionDefinition>;
44
45
  /**
45
46
  * https://www.w3.org/TR/scxml/#microstepProcedure
@@ -81,6 +81,7 @@ export interface ResolvedTypegenMeta extends TypegenMeta {
81
81
  indexedActions: Record<string, ParameterizedObject>;
82
82
  indexedEvents: Record<string, EventObject>;
83
83
  indexedGuards: Record<string, ParameterizedObject>;
84
+ indexedDelays: Record<string, ParameterizedObject>;
84
85
  };
85
86
  }
86
87
  export type TypegenConstraint = TypegenEnabled | TypegenDisabled;
@@ -116,24 +117,31 @@ type AllowAllEvents = {
116
117
  eventsCausingDelays: Record<string, string>;
117
118
  eventsCausingGuards: Record<string, string>;
118
119
  };
119
- type IndexParametrizedImplementation<TParametrizedImplementation extends ParameterizedObject, TCausingLookup> = string extends TParametrizedImplementation['type'] ? IsNever<TCausingLookup> extends true ? never : Record<keyof TCausingLookup, ParameterizedObject> : IndexByType<TParametrizedImplementation>;
120
- export interface ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> {
120
+ type IndexParameterizedImplementation<TParameterizedImplementation extends ParameterizedObject, TCausingLookup> = string extends TParameterizedImplementation['type'] ? IsNever<TCausingLookup> extends true ? never : Record<keyof TCausingLookup, ParameterizedObject> : IndexByType<TParameterizedImplementation>;
121
+ type WrapIntoParameterizedObject<T extends string> = T extends any ? {
122
+ type: T;
123
+ } : never;
124
+ export interface ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string> {
121
125
  '@@xstate/typegen': TTypesMeta['@@xstate/typegen'];
122
126
  resolved: {
123
127
  enabled: TTypesMeta & {
124
- indexedActions: IndexParametrizedImplementation<TAction, Prop<TTypesMeta, 'eventsCausingActions'>>;
128
+ indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, 'eventsCausingActions'>>;
125
129
  indexedActors: string extends TActor['src'] ? Record<keyof Prop<TTypesMeta, 'eventsCausingActors'>, {
126
130
  logic: AnyActorLogic;
127
131
  }> : IndexByProp<TActor, 'src'>;
128
132
  indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent['type'] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, 'invokeSrcNameMap'>>>, Prop<TTypesMeta, 'internalEvents'>>;
129
- indexedGuards: IndexParametrizedImplementation<TGuard, Prop<TTypesMeta, 'eventsCausingGuards'>>;
133
+ indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, 'eventsCausingGuards'>>;
134
+ indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, 'eventsCausingDelays'>>;
135
+ tags: string extends TTag ? Prop<TTypesMeta, 'tags'> : TTag;
130
136
  };
131
137
  disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & {
132
138
  indexedActions: IndexByType<TAction>;
133
139
  indexedActors: IndexByProp<TActor, 'src'>;
134
140
  indexedEvents: Record<string, TEvent>;
135
141
  indexedGuards: IndexByType<TGuard>;
142
+ indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>;
136
143
  invokeSrcNameMap: Record<string, string>;
144
+ tags: TTag;
137
145
  };
138
146
  }[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta extends TypegenEnabled ? 'enabled' : 'disabled'];
139
147
  }