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.
- 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.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-43f7d40e.development.cjs.js → actions-0971b43d.development.cjs.js} +4 -5
- package/dist/{actions-6a8cda73.cjs.js → actions-319cefe7.cjs.js} +4 -5
- package/dist/{actions-7b182232.esm.js → actions-5943a9db.esm.js} +4 -5
- package/dist/{actions-194e6dcc.development.esm.js → actions-cf69419d.development.esm.js} +4 -5
- 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 +20 -16
- package/dist/declarations/src/StateNode.d.ts +21 -5
- package/dist/declarations/src/actions/choose.d.ts +3 -1
- package/dist/declarations/src/actions/pure.d.ts +5 -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 +5 -2
- package/dist/declarations/src/stateUtils.d.ts +7 -6
- package/dist/declarations/src/typegenTypes.d.ts +12 -4
- package/dist/declarations/src/types.d.ts +96 -85
- package/dist/xstate.cjs.js +3 -1
- package/dist/xstate.development.cjs.js +3 -1
- package/dist/xstate.development.esm.js +4 -2
- package/dist/xstate.esm.js +4 -2
- 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 -1
- package/guards/dist/xstate-guards.development.cjs.js +1 -1
- 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.map +1 -1
- package/package.json +1 -1
|
@@ -66,7 +66,7 @@ export type MachineContext = Record<string, any>;
|
|
|
66
66
|
export interface ActionArgs<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject | undefined> extends UnifiedArg<TContext, TEvent> {
|
|
67
67
|
action: TAction;
|
|
68
68
|
}
|
|
69
|
-
export type InputFrom<T extends AnyActorLogic> = T extends StateMachine<infer _TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TInput : T extends ActorLogic<infer _TEvent, infer _TSnapshot, infer _TInternalState, infer _TPersisted, infer _TSystem, infer TInput> ? TInput : never;
|
|
69
|
+
export type InputFrom<T extends AnyActorLogic> = T extends StateMachine<infer _TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TInput : T extends ActorLogic<infer _TEvent, infer _TSnapshot, infer _TInternalState, infer _TPersisted, infer _TSystem, infer TInput> ? TInput : never;
|
|
70
70
|
export type OutputFrom<T extends AnyActorLogic> = T extends ActorLogic<infer _TEvent, infer _TSnapshot, infer _TInternalState, infer _TPersisted, infer _TSystem, infer _TInput, infer TOutput> ? TOutput : never;
|
|
71
71
|
export type Spawner = <T extends AnyActorLogic | string>(// TODO: read string from machine logic keys
|
|
72
72
|
logic: T, options?: Partial<{
|
|
@@ -77,21 +77,23 @@ logic: T, options?: Partial<{
|
|
|
77
77
|
export interface AssignArgs<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> extends ActionArgs<TContext, TExpressionEvent, TExpressionAction> {
|
|
78
78
|
spawn: Spawner;
|
|
79
79
|
}
|
|
80
|
-
export type ActionFunction<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject> = {
|
|
80
|
+
export type ActionFunction<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
|
|
81
81
|
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
82
82
|
_out_TEvent?: TEvent;
|
|
83
83
|
_out_TAction?: TAction;
|
|
84
|
+
_out_TGuard?: TGuard;
|
|
85
|
+
_out_TDelay?: TDelay;
|
|
84
86
|
};
|
|
85
|
-
export interface ChooseBranch<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TAction extends ParameterizedObject = ParameterizedObject,
|
|
86
|
-
guard?: Guard<TContext, TExpressionEvent,
|
|
87
|
-
actions: Actions<TContext, TExpressionEvent, TEvent, undefined, TAction>;
|
|
87
|
+
export interface ChooseBranch<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string> {
|
|
88
|
+
guard?: Guard<TContext, TExpressionEvent, undefined, TGuard>;
|
|
89
|
+
actions: Actions<TContext, TExpressionEvent, TEvent, undefined, TAction, TGuard, TDelay>;
|
|
88
90
|
}
|
|
89
91
|
export type NoRequiredParams<T extends ParameterizedObject> = T extends any ? {
|
|
90
92
|
type: T['type'];
|
|
91
93
|
} extends T ? T['type'] : never : never;
|
|
92
|
-
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject> = NoRequiredParams<TAction> | TAction | ActionFunction<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction>;
|
|
93
|
-
export type UnknownAction = Action<MachineContext, EventObject, EventObject, ParameterizedObject | undefined, ParameterizedObject>;
|
|
94
|
-
export type Actions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject> = SingleOrArray<Action<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction>>;
|
|
94
|
+
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = NoRequiredParams<TAction> | TAction | ActionFunction<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction, TGuard, TDelay>;
|
|
95
|
+
export type UnknownAction = Action<MachineContext, EventObject, EventObject, ParameterizedObject | undefined, ParameterizedObject, ParameterizedObject, string>;
|
|
96
|
+
export type Actions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = SingleOrArray<Action<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction, TGuard, TDelay>>;
|
|
95
97
|
export type StateKey = string | AnyState;
|
|
96
98
|
export interface StateValueMap {
|
|
97
99
|
[key: string]: StateValue;
|
|
@@ -104,23 +106,23 @@ export interface StateValueMap {
|
|
|
104
106
|
*/
|
|
105
107
|
export type StateValue = string | StateValueMap;
|
|
106
108
|
export type TransitionTarget = SingleOrArray<string>;
|
|
107
|
-
export interface TransitionConfig<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> {
|
|
109
|
+
export interface TransitionConfig<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
108
110
|
guard?: Guard<TContext, TExpressionEvent, undefined, TGuard>;
|
|
109
|
-
actions?: Actions<TContext, TExpressionEvent, TEvent, undefined, TAction>;
|
|
111
|
+
actions?: Actions<TContext, TExpressionEvent, TEvent, undefined, TAction, TGuard, TDelay>;
|
|
110
112
|
reenter?: boolean;
|
|
111
113
|
target?: TransitionTarget | undefined;
|
|
112
114
|
meta?: Record<string, any>;
|
|
113
115
|
description?: string;
|
|
114
116
|
}
|
|
115
|
-
export interface InitialTransitionConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> extends TransitionConfig<TContext, TEvent, TEvent, TAction, TGuard> {
|
|
117
|
+
export interface InitialTransitionConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> extends TransitionConfig<TContext, TEvent, TEvent, TAction, TGuard, TDelay> {
|
|
116
118
|
target: TransitionTarget;
|
|
117
119
|
}
|
|
118
|
-
export type AnyTransitionConfig = TransitionConfig<any, any, any, any, any>;
|
|
120
|
+
export type AnyTransitionConfig = TransitionConfig<any, any, any, any, any, any>;
|
|
119
121
|
export interface InvokeMeta {
|
|
120
122
|
src: string;
|
|
121
123
|
meta: MetaObject | undefined;
|
|
122
124
|
}
|
|
123
|
-
export interface InvokeDefinition<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> {
|
|
125
|
+
export interface InvokeDefinition<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
124
126
|
id: string;
|
|
125
127
|
systemId: string | undefined;
|
|
126
128
|
/**
|
|
@@ -131,43 +133,39 @@ export interface InvokeDefinition<TContext extends MachineContext, TEvent extend
|
|
|
131
133
|
/**
|
|
132
134
|
* The transition to take upon the invoked child machine reaching its final top-level state.
|
|
133
135
|
*/
|
|
134
|
-
onDone?: string | SingleOrArray<TransitionConfig<TContext, DoneInvokeEvent<any>, DoneInvokeEvent<any>, TAction, TGuard>>;
|
|
136
|
+
onDone?: string | SingleOrArray<TransitionConfig<TContext, DoneInvokeEvent<any>, DoneInvokeEvent<any>, TAction, TGuard, TDelay>>;
|
|
135
137
|
/**
|
|
136
138
|
* The transition to take upon the invoked child machine sending an error event.
|
|
137
139
|
*/
|
|
138
|
-
onError?: string | SingleOrArray<TransitionConfig<TContext, ErrorEvent<any>, ErrorEvent<any>, TAction, TGuard>>;
|
|
139
|
-
onSnapshot?: string | SingleOrArray<TransitionConfig<TContext, SnapshotEvent<any>, SnapshotEvent<any>, TAction, TGuard>>;
|
|
140
|
-
toJSON: () => Omit<InvokeDefinition<TContext, TEvent, TAction, TGuard>, 'onDone' | 'onError' | 'toJSON'>;
|
|
140
|
+
onError?: string | SingleOrArray<TransitionConfig<TContext, ErrorEvent<any>, ErrorEvent<any>, TAction, TGuard, TDelay>>;
|
|
141
|
+
onSnapshot?: string | SingleOrArray<TransitionConfig<TContext, SnapshotEvent<any>, SnapshotEvent<any>, TAction, TGuard, TDelay>>;
|
|
142
|
+
toJSON: () => Omit<InvokeDefinition<TContext, TEvent, TAction, TGuard, TDelay>, 'onDone' | 'onError' | 'toJSON'>;
|
|
141
143
|
meta: MetaObject | undefined;
|
|
142
144
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
delay: number;
|
|
149
|
-
}
|
|
150
|
-
export type DelayedTransitions<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> = Record<string | number, string | SingleOrArray<TransitionConfig<TContext, TEvent, TEvent, TAction, TGuard>>> | Array<TransitionConfig<TContext, TEvent, TEvent, TAction, TGuard> & {
|
|
151
|
-
delay: number | string | ((args: UnifiedArg<TContext, TEvent>) => number);
|
|
145
|
+
type Delay<TDelay extends string> = TDelay | number;
|
|
146
|
+
export type DelayedTransitions<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
|
|
147
|
+
[K in Delay<TDelay>]?: string | SingleOrArray<TransitionConfig<TContext, TEvent, TEvent, TAction, TGuard, TDelay>>;
|
|
148
|
+
} | Array<TransitionConfig<TContext, TEvent, TEvent, TAction, TGuard, TDelay> & {
|
|
149
|
+
delay: Delay<TDelay> | ((args: UnifiedArg<TContext, TEvent>) => Delay<TDelay>);
|
|
152
150
|
}>;
|
|
153
151
|
export type StateTypes = 'atomic' | 'compound' | 'parallel' | 'final' | 'history' | string;
|
|
154
152
|
export type SingleOrArray<T> = readonly T[] | T;
|
|
155
153
|
export type StateNodesConfig<TContext extends MachineContext, TEvent extends EventObject> = {
|
|
156
154
|
[K in string]: StateNode<TContext, TEvent>;
|
|
157
155
|
};
|
|
158
|
-
export type StatesConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject,
|
|
159
|
-
[K in string]: StateNodeConfig<TContext, TEvent, TAction, TGuard,
|
|
156
|
+
export type StatesConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TOutput> = {
|
|
157
|
+
[K in string]: StateNodeConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TOutput>;
|
|
160
158
|
};
|
|
161
159
|
export type StatesDefinition<TContext extends MachineContext, TEvent extends EventObject> = {
|
|
162
160
|
[K in string]: StateNodeDefinition<TContext, TEvent>;
|
|
163
161
|
};
|
|
164
162
|
export type TransitionConfigTarget = string | undefined;
|
|
165
|
-
export type TransitionConfigOrTarget<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> = SingleOrArray<TransitionConfigTarget | TransitionConfig<TContext, TExpressionEvent, TEvent, TAction, TGuard>>;
|
|
166
|
-
export type TransitionsConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> = {
|
|
167
|
-
[K in TEvent['type'] | '*']?: K extends '*' ? TransitionConfigOrTarget<TContext, TEvent, TEvent, TAction, TGuard> : TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K>, TEvent, TAction, TGuard>;
|
|
163
|
+
export type TransitionConfigOrTarget<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = SingleOrArray<TransitionConfigTarget | TransitionConfig<TContext, TExpressionEvent, TEvent, TAction, TGuard, TDelay>>;
|
|
164
|
+
export type TransitionsConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
|
|
165
|
+
[K in TEvent['type'] | '*']?: K extends '*' ? TransitionConfigOrTarget<TContext, TEvent, TEvent, TAction, TGuard, TDelay> : TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K>, TEvent, TAction, TGuard, TDelay>;
|
|
168
166
|
};
|
|
169
167
|
type IsLiteralString<T extends string> = string extends T ? false : true;
|
|
170
|
-
type DistributeActors<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> = TActor extends {
|
|
168
|
+
type DistributeActors<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = TActor extends {
|
|
171
169
|
src: infer TSrc;
|
|
172
170
|
} ? Compute<{
|
|
173
171
|
systemId?: string;
|
|
@@ -179,12 +177,12 @@ type DistributeActors<TContext extends MachineContext, TEvent extends EventObjec
|
|
|
179
177
|
/**
|
|
180
178
|
* The transition to take upon the invoked child machine reaching its final top-level state.
|
|
181
179
|
*/
|
|
182
|
-
onDone?: string | SingleOrArray<TransitionConfigOrTarget<TContext, DoneInvokeEvent<OutputFrom<TActor['logic']>>, TEvent, TAction, TGuard>>;
|
|
180
|
+
onDone?: string | SingleOrArray<TransitionConfigOrTarget<TContext, DoneInvokeEvent<OutputFrom<TActor['logic']>>, TEvent, TAction, TGuard, TDelay>>;
|
|
183
181
|
/**
|
|
184
182
|
* The transition to take upon the invoked child machine sending an error event.
|
|
185
183
|
*/
|
|
186
|
-
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorEvent<any>, TEvent, TAction, TGuard>>;
|
|
187
|
-
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, TEvent, TAction, TGuard>>;
|
|
184
|
+
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
185
|
+
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
188
186
|
/**
|
|
189
187
|
* Meta data related to this invocation
|
|
190
188
|
*/
|
|
@@ -202,7 +200,7 @@ type DistributeActors<TContext extends MachineContext, TEvent extends EventObjec
|
|
|
202
200
|
*/
|
|
203
201
|
id?: string;
|
|
204
202
|
})> : never;
|
|
205
|
-
export type InvokeConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> = IsLiteralString<TActor['src']> extends true ? DistributeActors<TContext, TEvent, TActor, TAction, TGuard> : {
|
|
203
|
+
export type InvokeConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = IsLiteralString<TActor['src']> extends true ? DistributeActors<TContext, TEvent, TActor, TAction, TGuard, TDelay> : {
|
|
206
204
|
/**
|
|
207
205
|
* The unique identifier for the invoked machine. If not specified, this
|
|
208
206
|
* will be the machine's own `id`, or the URL (from `src`).
|
|
@@ -217,23 +215,23 @@ export type InvokeConfig<TContext extends MachineContext, TEvent extends EventOb
|
|
|
217
215
|
/**
|
|
218
216
|
* The transition to take upon the invoked child machine reaching its final top-level state.
|
|
219
217
|
*/
|
|
220
|
-
onDone?: string | SingleOrArray<TransitionConfigOrTarget<TContext, DoneInvokeEvent<any>, TEvent, TAction, TGuard>>;
|
|
218
|
+
onDone?: string | SingleOrArray<TransitionConfigOrTarget<TContext, DoneInvokeEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
221
219
|
/**
|
|
222
220
|
* The transition to take upon the invoked child machine sending an error event.
|
|
223
221
|
*/
|
|
224
|
-
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorEvent<any>, TEvent, TAction, TGuard>>;
|
|
225
|
-
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, TEvent, TAction, TGuard>>;
|
|
222
|
+
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
223
|
+
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
226
224
|
/**
|
|
227
225
|
* Meta data related to this invocation
|
|
228
226
|
*/
|
|
229
227
|
meta?: MetaObject;
|
|
230
228
|
};
|
|
231
|
-
export type AnyInvokeConfig = InvokeConfig<any, any, any, any, any>;
|
|
232
|
-
export interface StateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject,
|
|
229
|
+
export type AnyInvokeConfig = InvokeConfig<any, any, any, any, any, any>;
|
|
230
|
+
export interface StateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TOutput> {
|
|
233
231
|
/**
|
|
234
232
|
* The initial state transition.
|
|
235
233
|
*/
|
|
236
|
-
initial?: InitialTransitionConfig<TContext, TEvent, TAction, TGuard> | SingleOrArray<string> | undefined;
|
|
234
|
+
initial?: InitialTransitionConfig<TContext, TEvent, TAction, TGuard, TDelay> | SingleOrArray<string> | undefined;
|
|
237
235
|
/**
|
|
238
236
|
* The type of this state node:
|
|
239
237
|
*
|
|
@@ -253,38 +251,38 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
|
|
|
253
251
|
/**
|
|
254
252
|
* The mapping of state node keys to their state node configurations (recursive).
|
|
255
253
|
*/
|
|
256
|
-
states?: StatesConfig<TContext, TEvent, TAction, TGuard,
|
|
254
|
+
states?: StatesConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, NonReducibleUnknown> | undefined;
|
|
257
255
|
/**
|
|
258
256
|
* The services to invoke upon entering this state node. These services will be stopped upon exiting this state node.
|
|
259
257
|
*/
|
|
260
|
-
invoke?: SingleOrArray<TActor['src'] | InvokeConfig<TContext, TEvent, TActor, TAction, TGuard>>;
|
|
258
|
+
invoke?: SingleOrArray<TActor['src'] | InvokeConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
261
259
|
/**
|
|
262
260
|
* The mapping of event types to their potential transition(s).
|
|
263
261
|
*/
|
|
264
|
-
on?: TransitionsConfig<TContext, TEvent, TAction, TGuard>;
|
|
262
|
+
on?: TransitionsConfig<TContext, TEvent, TAction, TGuard, TDelay>;
|
|
265
263
|
/**
|
|
266
264
|
* The action(s) to be executed upon entering the state node.
|
|
267
265
|
*/
|
|
268
|
-
entry?: Actions<TContext, TEvent, TEvent, undefined, TAction>;
|
|
266
|
+
entry?: Actions<TContext, TEvent, TEvent, undefined, TAction, TGuard, TDelay>;
|
|
269
267
|
/**
|
|
270
268
|
* The action(s) to be executed upon exiting the state node.
|
|
271
269
|
*/
|
|
272
|
-
exit?: Actions<TContext, TEvent, TEvent, undefined, TAction>;
|
|
270
|
+
exit?: Actions<TContext, TEvent, TEvent, undefined, TAction, TGuard, TDelay>;
|
|
273
271
|
/**
|
|
274
272
|
* The potential transition(s) to be taken upon reaching a final child state node.
|
|
275
273
|
*
|
|
276
274
|
* This is equivalent to defining a `[done(id)]` transition on this state node's `on` property.
|
|
277
275
|
*/
|
|
278
|
-
onDone?: string | SingleOrArray<TransitionConfig<TContext, DoneEventObject, DoneEventObject, TAction, TGuard>> | undefined;
|
|
276
|
+
onDone?: string | SingleOrArray<TransitionConfig<TContext, DoneEventObject, DoneEventObject, TAction, TGuard, TDelay>> | undefined;
|
|
279
277
|
/**
|
|
280
278
|
* The mapping (or array) of delays (in milliseconds) to their potential transition(s).
|
|
281
279
|
* The delayed transitions are taken after the specified delay in an interpreter.
|
|
282
280
|
*/
|
|
283
|
-
after?: DelayedTransitions<TContext, TEvent, TAction, TGuard>;
|
|
281
|
+
after?: DelayedTransitions<TContext, TEvent, TAction, TGuard, TDelay>;
|
|
284
282
|
/**
|
|
285
283
|
* An eventless transition that is always taken when this state node is active.
|
|
286
284
|
*/
|
|
287
|
-
always?: TransitionConfigOrTarget<TContext, TEvent, TEvent, TAction, TGuard>;
|
|
285
|
+
always?: TransitionConfigOrTarget<TContext, TEvent, TEvent, TAction, TGuard, TDelay>;
|
|
288
286
|
/**
|
|
289
287
|
* @private
|
|
290
288
|
*/
|
|
@@ -312,7 +310,7 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
|
|
|
312
310
|
/**
|
|
313
311
|
* The tags for this state node, which are accumulated into the `state.tags` property.
|
|
314
312
|
*/
|
|
315
|
-
tags?: SingleOrArray<
|
|
313
|
+
tags?: SingleOrArray<TTag>;
|
|
316
314
|
/**
|
|
317
315
|
* A text description of the state node
|
|
318
316
|
*/
|
|
@@ -322,7 +320,7 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
|
|
|
322
320
|
*/
|
|
323
321
|
target?: string;
|
|
324
322
|
}
|
|
325
|
-
export type AnyStateNodeConfig = StateNodeConfig<any, any, any, any, any, any>;
|
|
323
|
+
export type AnyStateNodeConfig = StateNodeConfig<any, any, any, any, any, any, any, any>;
|
|
326
324
|
export interface StateNodeDefinition<TContext extends MachineContext, TEvent extends EventObject> {
|
|
327
325
|
id: string;
|
|
328
326
|
version?: string | undefined;
|
|
@@ -338,7 +336,7 @@ export interface StateNodeDefinition<TContext extends MachineContext, TEvent ext
|
|
|
338
336
|
meta: any;
|
|
339
337
|
order: number;
|
|
340
338
|
output?: FinalStateNodeConfig<TContext, TEvent>['output'];
|
|
341
|
-
invoke: Array<InvokeDefinition<TContext, TEvent, TODO, TODO>>;
|
|
339
|
+
invoke: Array<InvokeDefinition<TContext, TEvent, TODO, TODO, TODO>>;
|
|
342
340
|
description?: string;
|
|
343
341
|
tags: string[];
|
|
344
342
|
}
|
|
@@ -346,10 +344,12 @@ export interface StateMachineDefinition<TContext extends MachineContext, TEvent
|
|
|
346
344
|
}
|
|
347
345
|
export type AnyStateNode = StateNode<any, any>;
|
|
348
346
|
export type AnyStateNodeDefinition = StateNodeDefinition<any, any>;
|
|
349
|
-
export type AnyState = State<any, any, any, any, any
|
|
350
|
-
|
|
347
|
+
export type AnyState = State<any, any, any, any, any, // delays
|
|
348
|
+
any>;
|
|
349
|
+
export type AnyStateMachine = StateMachine<any, any, any, any, any, any, any, any, any, // delays
|
|
350
|
+
any>;
|
|
351
351
|
export type AnyStateConfig = StateConfig<any, AnyEventObject>;
|
|
352
|
-
export interface AtomicStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> extends StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO> {
|
|
352
|
+
export interface AtomicStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> extends StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO, TODO, TODO> {
|
|
353
353
|
initial?: undefined;
|
|
354
354
|
parallel?: false | undefined;
|
|
355
355
|
states?: undefined;
|
|
@@ -367,11 +367,11 @@ export interface FinalStateNodeConfig<TContext extends MachineContext, TEvent ex
|
|
|
367
367
|
*/
|
|
368
368
|
output?: Mapper<TContext, TEvent, any>;
|
|
369
369
|
}
|
|
370
|
-
export type SimpleOrStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> = AtomicStateNodeConfig<TContext, TEvent> | StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO>;
|
|
371
|
-
export type ActionFunctionMap<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject> = {
|
|
370
|
+
export type SimpleOrStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> = AtomicStateNodeConfig<TContext, TEvent> | StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO, TODO, TODO>;
|
|
371
|
+
export type ActionFunctionMap<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string> = {
|
|
372
372
|
[K in TAction['type']]?: ActionFunction<TContext, TEvent, TEvent, TAction extends {
|
|
373
373
|
type: K;
|
|
374
|
-
} ? TAction : never, TAction>;
|
|
374
|
+
} ? TAction : never, TAction, TGuard, TDelay>;
|
|
375
375
|
};
|
|
376
376
|
type GuardMap<TContext extends MachineContext, TEvent extends EventObject, TGuard extends ParameterizedObject> = {
|
|
377
377
|
[K in TGuard['type']]?: GuardPredicate<TContext, TEvent, TGuard extends {
|
|
@@ -390,8 +390,8 @@ export interface MachineImplementationsSimplified<TContext extends MachineContex
|
|
|
390
390
|
delays: DelayFunctionMap<TContext, TEvent, TAction>;
|
|
391
391
|
}
|
|
392
392
|
type MaybeNarrowedEvent<TIndexedEvents, TCausingLookup, K> = Cast<Prop<TIndexedEvents, K extends keyof TCausingLookup ? TCausingLookup[K] : TIndexedEvents[keyof TIndexedEvents]>, EventObject>;
|
|
393
|
-
type MachineImplementationsActions<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActions'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, TIndexedActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedActions'>> = {
|
|
394
|
-
[K in keyof TIndexedActions]?: ActionFunction<TContext, MaybeNarrowedEvent<TIndexedEvents, TEventsCausingActions, K>, Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>, Cast<TIndexedActions[K], ParameterizedObject>, Cast<Prop<TIndexedActions, keyof TIndexedActions>, ParameterizedObject
|
|
393
|
+
type MachineImplementationsActions<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActions'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, TIndexedActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedActions'>, TIndexedGuards = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedGuards'>, TIndexedDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedDelays'>> = {
|
|
394
|
+
[K in keyof TIndexedActions]?: ActionFunction<TContext, MaybeNarrowedEvent<TIndexedEvents, TEventsCausingActions, K>, Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>, Cast<TIndexedActions[K], ParameterizedObject>, Cast<Prop<TIndexedActions, keyof TIndexedActions>, ParameterizedObject>, Cast<Prop<TIndexedGuards, keyof TIndexedGuards>, ParameterizedObject>, Cast<Prop<TIndexedDelays, keyof TIndexedDelays>, ParameterizedObject>['type']>;
|
|
395
395
|
};
|
|
396
396
|
type MachineImplementationsActors<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingActors = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActors'>, TIndexedActors = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedActors'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, _TInvokeSrcNameMap = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'invokeSrcNameMap'>> = {
|
|
397
397
|
[K in keyof TIndexedActors]?: Cast<Prop<TIndexedActors[K], 'logic'>, AnyActorLogic> | {
|
|
@@ -399,8 +399,8 @@ type MachineImplementationsActors<TContext extends MachineContext, TResolvedType
|
|
|
399
399
|
input: Mapper<TContext, MaybeNarrowedEvent<TIndexedEvents, TEventsCausingActors, K>, InputFrom<Cast<Prop<TIndexedActors[K], 'logic'>, AnyActorLogic>>> | InputFrom<Cast<Prop<TIndexedActors[K], 'logic'>, AnyActorLogic>>;
|
|
400
400
|
};
|
|
401
401
|
};
|
|
402
|
-
type MachineImplementationsDelays<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingDelays'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
403
|
-
[K in keyof
|
|
402
|
+
type MachineImplementationsDelays<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingDelays'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, TIndexedActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedActions'>, TIndexedDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedDelays'>> = {
|
|
403
|
+
[K in keyof TIndexedDelays]?: DelayConfig<TContext, MaybeNarrowedEvent<TIndexedEvents, TEventsCausingDelays, K>, Cast<Prop<TIndexedActions, keyof TIndexedActions>, ParameterizedObject> | undefined>;
|
|
404
404
|
};
|
|
405
405
|
type MachineImplementationsGuards<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingGuards = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingGuards'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, TIndexedGuards = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedGuards'>> = {
|
|
406
406
|
[K in keyof TIndexedGuards]?: Guard<TContext, MaybeNarrowedEvent<TIndexedEvents, TEventsCausingGuards, K>, Cast<TIndexedGuards[K], ParameterizedObject>, Cast<Prop<TIndexedGuards, keyof TIndexedGuards>, ParameterizedObject>>;
|
|
@@ -423,17 +423,17 @@ type GenerateDelaysImplementationsPart<TContext extends MachineContext, TResolve
|
|
|
423
423
|
type GenerateGuardsImplementationsPart<TContext extends MachineContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> = Compute<MaybeMakeMissingImplementationsRequired<'guards', Prop<TMissingImplementations, 'guards'>, TRequireMissingImplementations> & {
|
|
424
424
|
guards?: MachineImplementationsGuards<TContext, TResolvedTypesMeta>;
|
|
425
425
|
}>;
|
|
426
|
-
export type InternalMachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = Compute<GenerateActionsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateActorsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations>>;
|
|
427
|
-
export type MachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineImplementations<TContext, TEvent, TActor, TAction, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard>>;
|
|
426
|
+
export type InternalMachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TDelay extends string, TResolvedTypesMeta, TRequireMissingImplementations extends boolean = false, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = Compute<GenerateActionsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateActorsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateDelaysImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations> & GenerateGuardsImplementationsPart<TContext, TResolvedTypesMeta, TRequireMissingImplementations, TMissingImplementations>>;
|
|
427
|
+
export type MachineImplementations<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
|
|
428
428
|
type InitialContext<TContext extends MachineContext, TInput> = TContext | ContextFactory<TContext, TInput>;
|
|
429
429
|
export type ContextFactory<TContext extends MachineContext, TInput> = ({ spawn, input }: {
|
|
430
430
|
spawn: Spawner;
|
|
431
431
|
input: TInput;
|
|
432
432
|
}) => TContext;
|
|
433
|
-
type RootStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject,
|
|
434
|
-
states?: StatesConfig<TContext, TEvent, TAction, TGuard,
|
|
433
|
+
type RootStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TOutput> = Omit<StateNodeConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TOutput>, 'states'> & {
|
|
434
|
+
states?: StatesConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TOutput> | undefined;
|
|
435
435
|
};
|
|
436
|
-
export type MachineConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject,
|
|
436
|
+
export type MachineConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TInput = any, TOutput = unknown, TTypesMeta = TypegenDisabled> = (RootStateNodeConfig<NoInfer<TContext>, NoInfer<TEvent>, NoInfer<TActor>, NoInfer<TAction>, NoInfer<TGuard>, NoInfer<TDelay>, NoInfer<TTag>, NoInfer<TOutput>> & {
|
|
437
437
|
/**
|
|
438
438
|
* The initial context (extended state)
|
|
439
439
|
*/
|
|
@@ -441,7 +441,7 @@ export type MachineConfig<TContext extends MachineContext, TEvent extends EventO
|
|
|
441
441
|
* The machine's own version.
|
|
442
442
|
*/
|
|
443
443
|
version?: string;
|
|
444
|
-
types?: MachineTypes<TContext, TEvent, TAction, TGuard,
|
|
444
|
+
types?: MachineTypes<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>;
|
|
445
445
|
}) & (Equals<TContext, MachineContext> extends true ? {
|
|
446
446
|
context?: InitialContext<LowInfer<TContext>, TInput>;
|
|
447
447
|
} : {
|
|
@@ -452,12 +452,14 @@ export interface ProvidedActor {
|
|
|
452
452
|
logic: AnyActorLogic;
|
|
453
453
|
id?: string;
|
|
454
454
|
}
|
|
455
|
-
export interface MachineTypes<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject,
|
|
455
|
+
export interface MachineTypes<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput, TTypesMeta = TypegenDisabled> {
|
|
456
456
|
context?: TContext;
|
|
457
457
|
events?: TEvent;
|
|
458
458
|
actors?: TActor;
|
|
459
459
|
actions?: TAction;
|
|
460
460
|
guards?: TGuard;
|
|
461
|
+
delays?: TDelay;
|
|
462
|
+
tags?: TTag;
|
|
461
463
|
input?: TInput;
|
|
462
464
|
output?: TOutput;
|
|
463
465
|
typegen?: TTypesMeta;
|
|
@@ -511,16 +513,16 @@ export declare enum SpecialTargets {
|
|
|
511
513
|
Parent = "#_parent",
|
|
512
514
|
Internal = "#_internal"
|
|
513
515
|
}
|
|
514
|
-
export interface SendToActionOptions<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> extends RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction> {
|
|
516
|
+
export interface SendToActionOptions<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TDelay extends string> extends RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay> {
|
|
515
517
|
}
|
|
516
|
-
export interface RaiseActionOptions<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
|
|
518
|
+
export interface RaiseActionOptions<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TDelay extends string> {
|
|
517
519
|
id?: string;
|
|
518
|
-
delay?:
|
|
520
|
+
delay?: Delay<TDelay> | DelayExpr<TContext, TExpressionEvent, TExpressionAction>;
|
|
519
521
|
}
|
|
520
|
-
export interface RaiseActionParams<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject> extends RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction> {
|
|
522
|
+
export interface RaiseActionParams<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject, TDelay extends string> extends RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay> {
|
|
521
523
|
event: TEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TEvent>;
|
|
522
524
|
}
|
|
523
|
-
export interface SendToActionParams<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject> extends SendToActionOptions<TContext, TExpressionEvent, TExpressionAction> {
|
|
525
|
+
export interface SendToActionParams<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject, TDelay extends string> extends SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay> {
|
|
524
526
|
event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent>;
|
|
525
527
|
}
|
|
526
528
|
export type Assigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = (args: AssignArgs<TContext, TExpressionEvent, TExpressionAction>) => Partial<TContext>;
|
|
@@ -536,7 +538,7 @@ export type Mapper<TContext extends MachineContext, TEvent extends EventObject,
|
|
|
536
538
|
export type PropertyMapper<TContext extends MachineContext, TEvent extends EventObject, TParams extends {}> = {
|
|
537
539
|
[K in keyof TParams]?: Mapper<TContext, TEvent, TParams[K]> | TParams[K];
|
|
538
540
|
};
|
|
539
|
-
export interface TransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent, TEvent, TODO, TODO>, 'target' | 'guard'> {
|
|
541
|
+
export interface TransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent, TEvent, TODO, TODO, TODO>, 'target' | 'guard'> {
|
|
540
542
|
target: ReadonlyArray<StateNode<TContext, TEvent>> | undefined;
|
|
541
543
|
source: StateNode<TContext, TEvent>;
|
|
542
544
|
actions: readonly UnknownAction[];
|
|
@@ -581,7 +583,7 @@ export interface StateConfig<TContext extends MachineContext, TEvent extends Eve
|
|
|
581
583
|
output?: any;
|
|
582
584
|
error?: unknown;
|
|
583
585
|
tags?: Set<string>;
|
|
584
|
-
machine?: StateMachine<TContext, TEvent, any, any, any, any, any, any>;
|
|
586
|
+
machine?: StateMachine<TContext, TEvent, any, any, any, any, any, any, any>;
|
|
585
587
|
_internalQueue?: Array<TEvent>;
|
|
586
588
|
}
|
|
587
589
|
export interface ActorOptions<TLogic extends AnyActorLogic> {
|
|
@@ -673,15 +675,24 @@ export interface ActorRef<TEvent extends EventObject, TSnapshot = any> extends S
|
|
|
673
675
|
src?: string;
|
|
674
676
|
}
|
|
675
677
|
export type AnyActorRef = ActorRef<any, any>;
|
|
676
|
-
export type ActorLogicFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<any, any, any, any, any, any, any, any> ? R : R extends Promise<infer U> ? PromiseActorLogic<U> : never : never;
|
|
677
|
-
export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, infer TActor, infer _TAction, infer _TGuard, infer
|
|
678
|
+
export type ActorLogicFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<any, any, any, any, any, any, any, any, any> ? R : R extends Promise<infer U> ? PromiseActorLogic<U> : never : never;
|
|
679
|
+
export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, infer TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer _TInput, infer TOutput, infer TResolvedTypesMeta> ? ActorRef<TEvent, State<TContext, TEvent, TActor, TTag, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>> : R extends Promise<infer U> ? ActorRefFrom<PromiseActorLogic<U>> : R extends ActorLogic<infer TEvent, infer TSnapshot, infer _, infer __, infer ___, infer ____, infer _____> ? ActorRef<TEvent, TSnapshot> : never : never;
|
|
678
680
|
export type DevToolsAdapter = (service: AnyActor) => void;
|
|
679
681
|
/**
|
|
680
682
|
* @deprecated Use `Actor<T>` instead.
|
|
681
683
|
*/
|
|
682
|
-
export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TActor, infer _TAction, infer _TGuard, infer TInput, infer TOutput, infer TResolvedTypesMeta> ? Actor<ActorLogic<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, ActorSystem<any>, TInput>> : never;
|
|
683
|
-
export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TActor, infer TAction, infer _TGuard, infer _TInput, infer _TOutput, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TEvent, TActor, TAction, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
684
|
-
export type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any,
|
|
684
|
+
export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer TInput, infer TOutput, infer TResolvedTypesMeta> ? Actor<ActorLogic<TEvent, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>, ActorSystem<any>, TInput>> : never;
|
|
685
|
+
export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TActor, infer TAction, infer _TGuard, infer TDelay, infer _TTag, infer _TInput, infer _TOutput, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
686
|
+
export type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, // context
|
|
687
|
+
any, // event
|
|
688
|
+
any, // actor
|
|
689
|
+
any, // action
|
|
690
|
+
any, // guard
|
|
691
|
+
any, // delay
|
|
692
|
+
any, // tag
|
|
693
|
+
any, // input
|
|
694
|
+
any, // output
|
|
695
|
+
infer TResolvedTypesMeta> ? TResolvedTypesMeta : never;
|
|
685
696
|
export interface ActorContext<TEvent extends EventObject, TSnapshot, TSystem extends ActorSystem<any> = ActorSystem<any>> {
|
|
686
697
|
self: ActorRef<TEvent, TSnapshot>;
|
|
687
698
|
id: string;
|
|
@@ -720,13 +731,13 @@ any, // persisted state
|
|
|
720
731
|
any, // system
|
|
721
732
|
any, // input
|
|
722
733
|
any>;
|
|
723
|
-
export type SnapshotFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends ActorRef<infer _, infer TSnapshot> ? TSnapshot : R extends Actor<infer TLogic> ? SnapshotFrom<TLogic> : R extends StateMachine<infer
|
|
734
|
+
export type SnapshotFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends ActorRef<infer _, infer TSnapshot> ? TSnapshot : R extends Actor<infer TLogic> ? SnapshotFrom<TLogic> : R extends StateMachine<infer _TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? StateFrom<R> : R extends ActorLogic<infer _, infer TSnapshot, infer __, infer ___, infer ____> ? TSnapshot : R extends ActorContext<infer _, infer TSnapshot, infer __> ? TSnapshot : never : never;
|
|
724
735
|
export type EventFromLogic<TLogic extends ActorLogic<any, any>> = TLogic extends ActorLogic<infer TEvent, infer _, infer __, infer ___, infer ____> ? TEvent : never;
|
|
725
736
|
export type PersistedStateFrom<TLogic extends ActorLogic<any, any>> = TLogic extends ActorLogic<infer _TEvent, infer _TSnapshot, infer _TInternalState, infer TPersisted> ? TPersisted : never;
|
|
726
737
|
export type InternalStateFrom<TLogic extends ActorLogic<any, any>> = TLogic extends ActorLogic<infer _TEvent, infer _TSnapshot, infer TInternalState, infer _TPersisted> ? TInternalState : never;
|
|
727
|
-
type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _TContext, infer TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends State<infer _TContext, infer TEvent, infer _TActor, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends ActorRef<infer TEvent, infer _> ? TEvent : never : never;
|
|
738
|
+
type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _TContext, infer TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends State<infer _TContext, infer TEvent, infer _TActor, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends ActorRef<infer TEvent, infer _> ? TEvent : never : never;
|
|
728
739
|
export type EventFrom<T, K extends Prop<TEvent, 'type'> = never, TEvent extends EventObject = ResolveEventType<T>> = IsNever<K> extends true ? TEvent : ExtractEvent<TEvent, K>;
|
|
729
|
-
export type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer
|
|
740
|
+
export type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : R extends State<infer TContext, infer _TEvent, infer _TActor, infer _TOutput, infer _TResolvedTypesMeta> ? TContext : R extends Actor<infer TActorLogic> ? TActorLogic extends StateMachine<infer TContext, infer _TEvent, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : never : never : never;
|
|
730
741
|
export type InferEvent<E extends EventObject> = {
|
|
731
742
|
[T in E['type']]: {
|
|
732
743
|
type: T;
|
package/dist/xstate.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var actors_dist_xstateActors = require('./actions-
|
|
5
|
+
var actors_dist_xstateActors = require('./actions-319cefe7.cjs.js');
|
|
6
6
|
require('../dev/dist/xstate-dev.cjs.js');
|
|
7
7
|
|
|
8
8
|
const EMPTY_OBJECT = {};
|
|
@@ -366,6 +366,8 @@ class StateMachine {
|
|
|
366
366
|
this.__TActor = void 0;
|
|
367
367
|
this.__TAction = void 0;
|
|
368
368
|
this.__TGuard = void 0;
|
|
369
|
+
this.__TDelay = void 0;
|
|
370
|
+
this.__TTag = void 0;
|
|
369
371
|
this.__TInput = void 0;
|
|
370
372
|
this.__TOutput = void 0;
|
|
371
373
|
this.__TResolvedTypesMeta = void 0;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var actors_dist_xstateActors = require('./actions-
|
|
5
|
+
var actors_dist_xstateActors = require('./actions-0971b43d.development.cjs.js');
|
|
6
6
|
require('../dev/dist/xstate-dev.development.cjs.js');
|
|
7
7
|
|
|
8
8
|
const EMPTY_OBJECT = {};
|
|
@@ -366,6 +366,8 @@ class StateMachine {
|
|
|
366
366
|
this.__TActor = void 0;
|
|
367
367
|
this.__TAction = void 0;
|
|
368
368
|
this.__TGuard = void 0;
|
|
369
|
+
this.__TDelay = void 0;
|
|
370
|
+
this.__TTag = void 0;
|
|
369
371
|
this.__TInput = void 0;
|
|
370
372
|
this.__TOutput = void 0;
|
|
371
373
|
this.__TResolvedTypesMeta = void 0;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as STATE_DELIMITER, m as mapValues, t as toArray, f as formatTransitions, a as toTransitionConfigArray, b as formatTransition, N as NULL_EVENT, c as memo, e as evaluateGuard, d as flatten, g as createInvokeId, h as getDelayedTransitions, i as formatInitialTransition, j as getCandidates, k as toInvokeConfig, l as getConfiguration, n as getStateNodes, r as resolveStateValue, o as isInFinalState, p as State, q as isErrorEvent, s as cloneState, u as macrostep, v as transitionNode, w as getInitialConfiguration, x as resolveActionsAndContext, y as assign, z as createInitEvent, A as microstep, B as isAtomicStateNode, C as isStateId, D as getStateNodeByPath, E as getPersistedState, F as resolveReferencedActor, G as createActor, H as matchesState } from './actions-
|
|
2
|
-
export { M as Actor, O as ActorStatus, a7 as ConstantPrefix, P as InterpreterStatus, a8 as SpecialTargets, p as State, a5 as and, y as assign, R as cancel, T as choose, G as createActor, Q as doneInvoke, K as forwardTo, a0 as fromCallback, a1 as fromEventObservable, $ as fromObservable, _ as fromPromise, a2 as fromTransition, n as getStateNodes, L as interpret, U as log, H as matchesState, a4 as not, a6 as or, Y as pathToStateValue, V as pure, W as raise, J as sendParent, I as sendTo, a3 as stateIn, X as stop, Z as toObserver } from './actions-
|
|
1
|
+
import { S as STATE_DELIMITER, m as mapValues, t as toArray, f as formatTransitions, a as toTransitionConfigArray, b as formatTransition, N as NULL_EVENT, c as memo, e as evaluateGuard, d as flatten, g as createInvokeId, h as getDelayedTransitions, i as formatInitialTransition, j as getCandidates, k as toInvokeConfig, l as getConfiguration, n as getStateNodes, r as resolveStateValue, o as isInFinalState, p as State, q as isErrorEvent, s as cloneState, u as macrostep, v as transitionNode, w as getInitialConfiguration, x as resolveActionsAndContext, y as assign, z as createInitEvent, A as microstep, B as isAtomicStateNode, C as isStateId, D as getStateNodeByPath, E as getPersistedState, F as resolveReferencedActor, G as createActor, H as matchesState } from './actions-cf69419d.development.esm.js';
|
|
2
|
+
export { M as Actor, O as ActorStatus, a7 as ConstantPrefix, P as InterpreterStatus, a8 as SpecialTargets, p as State, a5 as and, y as assign, R as cancel, T as choose, G as createActor, Q as doneInvoke, K as forwardTo, a0 as fromCallback, a1 as fromEventObservable, $ as fromObservable, _ as fromPromise, a2 as fromTransition, n as getStateNodes, L as interpret, U as log, H as matchesState, a4 as not, a6 as or, Y as pathToStateValue, V as pure, W as raise, J as sendParent, I as sendTo, a3 as stateIn, X as stop, Z as toObserver } from './actions-cf69419d.development.esm.js';
|
|
3
3
|
import '../dev/dist/xstate-dev.development.esm.js';
|
|
4
4
|
|
|
5
5
|
const EMPTY_OBJECT = {};
|
|
@@ -363,6 +363,8 @@ class StateMachine {
|
|
|
363
363
|
this.__TActor = void 0;
|
|
364
364
|
this.__TAction = void 0;
|
|
365
365
|
this.__TGuard = void 0;
|
|
366
|
+
this.__TDelay = void 0;
|
|
367
|
+
this.__TTag = void 0;
|
|
366
368
|
this.__TInput = void 0;
|
|
367
369
|
this.__TOutput = void 0;
|
|
368
370
|
this.__TResolvedTypesMeta = void 0;
|
package/dist/xstate.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as STATE_DELIMITER, m as mapValues, t as toArray, f as formatTransitions, a as toTransitionConfigArray, b as formatTransition, N as NULL_EVENT, c as memo, e as evaluateGuard, d as flatten, g as createInvokeId, h as getDelayedTransitions, i as formatInitialTransition, j as getCandidates, k as toInvokeConfig, l as getConfiguration, n as getStateNodes, r as resolveStateValue, o as isInFinalState, p as State, q as isErrorEvent, s as cloneState, u as macrostep, v as transitionNode, w as getInitialConfiguration, x as resolveActionsAndContext, y as assign, z as createInitEvent, A as microstep, B as isAtomicStateNode, C as isStateId, D as getStateNodeByPath, E as getPersistedState, F as resolveReferencedActor, G as createActor, H as matchesState } from './actions-
|
|
2
|
-
export { M as Actor, O as ActorStatus, a7 as ConstantPrefix, P as InterpreterStatus, a8 as SpecialTargets, p as State, a5 as and, y as assign, R as cancel, T as choose, G as createActor, Q as doneInvoke, K as forwardTo, a0 as fromCallback, a1 as fromEventObservable, $ as fromObservable, _ as fromPromise, a2 as fromTransition, n as getStateNodes, L as interpret, U as log, H as matchesState, a4 as not, a6 as or, Y as pathToStateValue, V as pure, W as raise, J as sendParent, I as sendTo, a3 as stateIn, X as stop, Z as toObserver } from './actions-
|
|
1
|
+
import { S as STATE_DELIMITER, m as mapValues, t as toArray, f as formatTransitions, a as toTransitionConfigArray, b as formatTransition, N as NULL_EVENT, c as memo, e as evaluateGuard, d as flatten, g as createInvokeId, h as getDelayedTransitions, i as formatInitialTransition, j as getCandidates, k as toInvokeConfig, l as getConfiguration, n as getStateNodes, r as resolveStateValue, o as isInFinalState, p as State, q as isErrorEvent, s as cloneState, u as macrostep, v as transitionNode, w as getInitialConfiguration, x as resolveActionsAndContext, y as assign, z as createInitEvent, A as microstep, B as isAtomicStateNode, C as isStateId, D as getStateNodeByPath, E as getPersistedState, F as resolveReferencedActor, G as createActor, H as matchesState } from './actions-5943a9db.esm.js';
|
|
2
|
+
export { M as Actor, O as ActorStatus, a7 as ConstantPrefix, P as InterpreterStatus, a8 as SpecialTargets, p as State, a5 as and, y as assign, R as cancel, T as choose, G as createActor, Q as doneInvoke, K as forwardTo, a0 as fromCallback, a1 as fromEventObservable, $ as fromObservable, _ as fromPromise, a2 as fromTransition, n as getStateNodes, L as interpret, U as log, H as matchesState, a4 as not, a6 as or, Y as pathToStateValue, V as pure, W as raise, J as sendParent, I as sendTo, a3 as stateIn, X as stop, Z as toObserver } from './actions-5943a9db.esm.js';
|
|
3
3
|
import '../dev/dist/xstate-dev.esm.js';
|
|
4
4
|
|
|
5
5
|
const EMPTY_OBJECT = {};
|
|
@@ -363,6 +363,8 @@ class StateMachine {
|
|
|
363
363
|
this.__TActor = void 0;
|
|
364
364
|
this.__TAction = void 0;
|
|
365
365
|
this.__TGuard = void 0;
|
|
366
|
+
this.__TDelay = void 0;
|
|
367
|
+
this.__TTag = void 0;
|
|
366
368
|
this.__TInput = void 0;
|
|
367
369
|
this.__TOutput = void 0;
|
|
368
370
|
this.__TResolvedTypesMeta = void 0;
|