xstate 5.0.0-beta.23 → 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.
- package/actions/dist/xstate-actions.cjs.js +1 -1
- package/actions/dist/xstate-actions.development.cjs.js +1 -1
- package/actions/dist/xstate-actions.development.esm.js +1 -1
- package/actions/dist/xstate-actions.esm.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js.map +1 -1
- package/actors/dist/xstate-actors.cjs.js +1 -1
- package/actors/dist/xstate-actors.development.cjs.js +1 -1
- package/actors/dist/xstate-actors.development.esm.js +1 -1
- package/actors/dist/xstate-actors.esm.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/{actions-0fcd4d15.development.cjs.js → actions-0971b43d.development.cjs.js} +88 -133
- package/dist/{actions-e83129c5.cjs.js → actions-319cefe7.cjs.js} +84 -137
- package/dist/{actions-bf7f6679.esm.js → actions-5943a9db.esm.js} +85 -137
- package/dist/{actions-f6b5002d.development.esm.js → actions-cf69419d.development.esm.js} +89 -133
- package/dist/declarations/src/Machine.d.ts +2 -2
- package/dist/declarations/src/State.d.ts +7 -3
- package/dist/declarations/src/StateMachine.d.ts +23 -17
- package/dist/declarations/src/StateNode.d.ts +23 -7
- package/dist/declarations/src/actions/choose.d.ts +4 -2
- package/dist/declarations/src/actions/pure.d.ts +6 -3
- package/dist/declarations/src/actions/raise.d.ts +2 -1
- package/dist/declarations/src/actions/send.d.ts +11 -55
- package/dist/declarations/src/guards.d.ts +20 -8
- package/dist/declarations/src/stateUtils.d.ts +10 -9
- package/dist/declarations/src/typegenTypes.d.ts +14 -2
- package/dist/declarations/src/types.d.ts +117 -142
- package/dist/declarations/src/utils.d.ts +3 -3
- package/dist/xstate.cjs.js +7 -3
- package/dist/xstate.development.cjs.js +7 -3
- package/dist/xstate.development.esm.js +8 -4
- package/dist/xstate.esm.js +8 -4
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/guards/dist/xstate-guards.cjs.js +1 -2
- package/guards/dist/xstate-guards.cjs.mjs +1 -2
- package/guards/dist/xstate-guards.development.cjs.js +1 -2
- package/guards/dist/xstate-guards.development.cjs.mjs +1 -2
- package/guards/dist/xstate-guards.development.esm.js +1 -1
- package/guards/dist/xstate-guards.esm.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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, 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,
|
|
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, 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, TAction,
|
|
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,15 +87,21 @@ 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 */
|
|
94
94
|
__TEvent: TEvent;
|
|
95
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 */
|
|
96
98
|
__TAction: TAction;
|
|
97
99
|
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
98
|
-
|
|
100
|
+
__TGuard: TGuard;
|
|
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;
|
|
99
105
|
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
100
106
|
__TInput: TInput;
|
|
101
107
|
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import type { State } from "./State.js";
|
|
2
2
|
import type { StateMachine } from "./StateMachine.js";
|
|
3
|
-
import type { DelayedTransitionDefinition, EventObject, InitialTransitionDefinition, InvokeDefinition, MachineContext, Mapper, StateNodeConfig, StateNodeDefinition, StateNodesConfig, TransitionDefinition, TransitionDefinitionMap, TODO, UnknownAction, ParameterizedObject } 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:
|
|
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,
|
|
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,
|
|
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,
|
|
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>>;
|
|
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
|
-
import { EventObject, ChooseBranch, MachineContext, ActionArgs, ParameterizedObject } 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, TAction>>): {
|
|
1
|
+
import { EventObject, ChooseBranch, MachineContext, ActionArgs, ParameterizedObject, NoInfer } from "../types.js";
|
|
2
|
+
export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, NoInfer<TAction>, NoInfer<TGuard>, TDelay>>): {
|
|
3
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,8 +1,11 @@
|
|
|
1
|
-
import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject } 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 }: {
|
|
1
|
+
import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject, NoInfer } from "../types.js";
|
|
2
|
+
export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string>(getActions: ({ context, event }: {
|
|
3
3
|
context: TContext;
|
|
4
4
|
event: TExpressionEvent;
|
|
5
|
-
}) => Actions<TContext, TExpressionEvent, TEvent
|
|
5
|
+
}) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined): {
|
|
6
6
|
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
7
|
+
_out_TEvent?: TEvent | undefined;
|
|
7
8
|
_out_TAction?: TAction | undefined;
|
|
9
|
+
_out_TGuard?: TGuard | undefined;
|
|
10
|
+
_out_TDelay?: TDelay | undefined;
|
|
8
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,
|
|
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
|
-
(
|
|
30
|
-
|
|
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 _TAction extends ParameterizedObject, infer _TActor extends import("../types.js").ProvidedActor, 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 _TAction extends ParameterizedObject, infer _TActor extends import("../types.js").ProvidedActor, 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
|
-
(
|
|
46
|
-
|
|
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
|
-
(
|
|
80
|
-
|
|
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 {};
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import type { EventObject, StateValue,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
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 = UnknownReferencedGuard | UnknownInlineGuard;
|
|
13
|
+
type UnknownReferencedGuard = Guard<MachineContext, EventObject, ParameterizedObject, ParameterizedObject>;
|
|
14
|
+
type UnknownInlineGuard = Guard<MachineContext, EventObject, undefined, ParameterizedObject>;
|
|
15
|
+
export declare function stateIn<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined>(stateValue: StateValue): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, any>;
|
|
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>;
|
|
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>;
|
|
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>;
|
|
19
|
+
export declare function evaluateGuard<TContext extends MachineContext, TExpressionEvent extends EventObject>(guard: UnknownGuard | UnknownInlineGuard, context: TContext, event: TExpressionEvent, state: AnyState): boolean;
|
|
20
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { State } from "./State.js";
|
|
2
2
|
import type { StateNode } from "./StateNode.js";
|
|
3
|
-
import { AnyActorContext, AnyHistoryValue, AnyState, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, EventObject, InitialTransitionConfig, InitialTransitionDefinition, MachineContext, SingleOrArray, StateValue, StateValueMap,
|
|
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>>;
|
|
@@ -15,9 +15,9 @@ export declare function getCandidates<TEvent extends EventObject>(stateNode: Sta
|
|
|
15
15
|
* All delayed transitions from the config.
|
|
16
16
|
*/
|
|
17
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:
|
|
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>): 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
|
|
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
|
|
@@ -50,7 +51,7 @@ export declare function removeConflictingTransitions(enabledTransitions: Array<A
|
|
|
50
51
|
* @param mutConfiguration
|
|
51
52
|
*/
|
|
52
53
|
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,
|
|
54
|
+
export declare function resolveActionsAndContext<TContext extends MachineContext, TExpressionEvent extends EventObject>(actions: UnknownAction[], event: TExpressionEvent, currentState: AnyState, actorCtx: AnyActorContext): AnyState;
|
|
54
55
|
export declare function macrostep(state: AnyState, event: EventObject, actorCtx: AnyActorContext): {
|
|
55
56
|
state: typeof state;
|
|
56
57
|
microstates: Array<typeof state>;
|
|
@@ -80,6 +80,8 @@ export interface ResolvedTypegenMeta extends TypegenMeta {
|
|
|
80
80
|
indexedActors: Record<string, ProvidedActor>;
|
|
81
81
|
indexedActions: Record<string, ParameterizedObject>;
|
|
82
82
|
indexedEvents: Record<string, EventObject>;
|
|
83
|
+
indexedGuards: Record<string, ParameterizedObject>;
|
|
84
|
+
indexedDelays: Record<string, ParameterizedObject>;
|
|
83
85
|
};
|
|
84
86
|
}
|
|
85
87
|
export type TypegenConstraint = TypegenEnabled | TypegenDisabled;
|
|
@@ -115,21 +117,31 @@ type AllowAllEvents = {
|
|
|
115
117
|
eventsCausingDelays: Record<string, string>;
|
|
116
118
|
eventsCausingGuards: Record<string, string>;
|
|
117
119
|
};
|
|
118
|
-
|
|
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> {
|
|
119
125
|
'@@xstate/typegen': TTypesMeta['@@xstate/typegen'];
|
|
120
126
|
resolved: {
|
|
121
127
|
enabled: TTypesMeta & {
|
|
122
|
-
indexedActions:
|
|
128
|
+
indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, 'eventsCausingActions'>>;
|
|
123
129
|
indexedActors: string extends TActor['src'] ? Record<keyof Prop<TTypesMeta, 'eventsCausingActors'>, {
|
|
124
130
|
logic: AnyActorLogic;
|
|
125
131
|
}> : IndexByProp<TActor, 'src'>;
|
|
126
132
|
indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent['type'] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, 'invokeSrcNameMap'>>>, Prop<TTypesMeta, 'internalEvents'>>;
|
|
133
|
+
indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, 'eventsCausingGuards'>>;
|
|
134
|
+
indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, 'eventsCausingDelays'>>;
|
|
135
|
+
tags: string extends TTag ? Prop<TTypesMeta, 'tags'> : TTag;
|
|
127
136
|
};
|
|
128
137
|
disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & {
|
|
129
138
|
indexedActions: IndexByType<TAction>;
|
|
130
139
|
indexedActors: IndexByProp<TActor, 'src'>;
|
|
131
140
|
indexedEvents: Record<string, TEvent>;
|
|
141
|
+
indexedGuards: IndexByType<TGuard>;
|
|
142
|
+
indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>;
|
|
132
143
|
invokeSrcNameMap: Record<string, string>;
|
|
144
|
+
tags: TTag;
|
|
133
145
|
};
|
|
134
146
|
}[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta extends TypegenEnabled ? 'enabled' : 'disabled'];
|
|
135
147
|
}
|