xstate 5.0.0-beta.26 → 5.0.0-beta.28
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/README.md +9 -7
- package/actions/dist/xstate-actions.cjs.js +14 -18
- package/actions/dist/xstate-actions.cjs.mjs +0 -6
- package/actions/dist/xstate-actions.development.cjs.js +14 -18
- package/actions/dist/xstate-actions.development.cjs.mjs +0 -6
- package/actions/dist/xstate-actions.development.esm.js +3 -1
- package/actions/dist/xstate-actions.esm.js +3 -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 +439 -14
- package/actors/dist/xstate-actors.cjs.mjs +0 -5
- package/actors/dist/xstate-actors.development.cjs.js +439 -14
- package/actors/dist/xstate-actors.development.cjs.mjs +0 -5
- package/actors/dist/xstate-actors.development.esm.js +435 -1
- package/actors/dist/xstate-actors.esm.js +435 -1
- package/actors/dist/xstate-actors.umd.min.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/declarations/src/Machine.d.ts +4 -3
- package/dist/declarations/src/State.d.ts +1 -1
- package/dist/declarations/src/StateNode.d.ts +3 -12
- package/dist/declarations/src/actions/assign.d.ts +11 -11
- package/dist/declarations/src/actions/cancel.d.ts +5 -12
- package/dist/declarations/src/actions/choose.d.ts +9 -7
- package/dist/declarations/src/actions/log.d.ts +5 -20
- package/dist/declarations/src/actions/pure.d.ts +11 -9
- package/dist/declarations/src/actions/raise.d.ts +6 -5
- package/dist/declarations/src/actions/send.d.ts +7 -12
- package/dist/declarations/src/actions/stop.d.ts +5 -12
- package/dist/declarations/src/actions.d.ts +8 -42
- package/dist/declarations/src/actors/index.d.ts +2 -22
- package/dist/declarations/src/actors/promise.d.ts +2 -1
- package/dist/declarations/src/constants.d.ts +8 -0
- package/dist/declarations/src/guards.d.ts +2 -2
- package/dist/declarations/src/index.d.ts +11 -18
- package/dist/declarations/src/spawn.d.ts +25 -0
- package/dist/declarations/src/stateUtils.d.ts +1 -1
- package/dist/declarations/src/typegenTypes.d.ts +5 -5
- package/dist/declarations/src/types.d.ts +81 -108
- package/dist/declarations/src/utils.d.ts +2 -3
- package/dist/interpreter-672794ae.cjs.js +792 -0
- package/dist/interpreter-a1432c7d.development.cjs.js +800 -0
- package/dist/interpreter-a77bb0ec.development.esm.js +765 -0
- package/dist/interpreter-b5203bcb.esm.js +757 -0
- package/dist/raise-436a57a2.cjs.js +1458 -0
- package/dist/raise-74b72ca5.development.cjs.js +1498 -0
- package/dist/raise-a60c9290.development.esm.js +1468 -0
- package/dist/raise-b9c9a234.esm.js +1428 -0
- package/dist/send-35e1a689.cjs.js +349 -0
- package/dist/send-4192e7bc.esm.js +339 -0
- package/dist/send-e63b7b83.development.esm.js +364 -0
- package/dist/send-e8b55d00.development.cjs.js +374 -0
- package/dist/xstate.cjs.js +140 -160
- package/dist/xstate.cjs.mjs +4 -2
- package/dist/xstate.development.cjs.js +140 -160
- package/dist/xstate.development.cjs.mjs +4 -2
- package/dist/xstate.development.esm.js +75 -95
- package/dist/xstate.esm.js +75 -95
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/guards/dist/xstate-guards.cjs.js +7 -6
- package/guards/dist/xstate-guards.development.cjs.js +7 -6
- package/guards/dist/xstate-guards.development.esm.js +2 -1
- package/guards/dist/xstate-guards.esm.js +2 -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
- package/dist/actions-0971b43d.development.cjs.js +0 -3168
- package/dist/actions-319cefe7.cjs.js +0 -3095
- package/dist/actions-5943a9db.esm.js +0 -3018
- package/dist/actions-cf69419d.development.esm.js +0 -3091
- package/dist/declarations/src/constantPrefixes.d.ts +0 -6
|
@@ -5,6 +5,8 @@ import type { StateMachine } from "./StateMachine.js";
|
|
|
5
5
|
import { TypegenDisabled, ResolveTypegenMeta, TypegenConstraint, MarkAllImplementationsAsProvided, AreAllImplementationsAssumedToBeProvided } from "./typegenTypes.js";
|
|
6
6
|
import { PromiseActorLogic } from "./actors/promise.js";
|
|
7
7
|
import { Guard, GuardPredicate, UnknownGuard } from "./guards.js";
|
|
8
|
+
import { Spawner } from "./spawn.js";
|
|
9
|
+
import { AssignArgs } from "./actions/assign.js";
|
|
8
10
|
/**
|
|
9
11
|
* `T | unknown` reduces to `unknown` and that can be problematic when it comes to contextual typing.
|
|
10
12
|
* It especially is a problem when the union has a function member, like here:
|
|
@@ -68,32 +70,32 @@ export interface ActionArgs<TContext extends MachineContext, TEvent extends Even
|
|
|
68
70
|
}
|
|
69
71
|
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
72
|
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
|
-
export type
|
|
72
|
-
logic: T, options?: Partial<{
|
|
73
|
-
id: string;
|
|
74
|
-
systemId?: string;
|
|
75
|
-
input: T extends AnyActorLogic ? InputFrom<T> : any;
|
|
76
|
-
}>) => ActorRefFrom<T>;
|
|
77
|
-
export interface AssignArgs<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> extends ActionArgs<TContext, TExpressionEvent, TExpressionAction> {
|
|
78
|
-
spawn: Spawner;
|
|
79
|
-
}
|
|
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> = {
|
|
73
|
+
export type ActionFunction<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
|
|
81
74
|
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
82
75
|
_out_TEvent?: TEvent;
|
|
76
|
+
_out_TActor?: TActor;
|
|
83
77
|
_out_TAction?: TAction;
|
|
84
78
|
_out_TGuard?: TGuard;
|
|
85
79
|
_out_TDelay?: TDelay;
|
|
86
80
|
};
|
|
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> {
|
|
81
|
+
export interface ChooseBranch<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string> {
|
|
88
82
|
guard?: Guard<TContext, TExpressionEvent, undefined, TGuard>;
|
|
89
|
-
actions: Actions<TContext, TExpressionEvent, TEvent, undefined, TAction, TGuard, TDelay>;
|
|
83
|
+
actions: Actions<TContext, TExpressionEvent, TEvent, undefined, TActor, TAction, TGuard, TDelay>;
|
|
90
84
|
}
|
|
91
85
|
export type NoRequiredParams<T extends ParameterizedObject> = T extends any ? {
|
|
92
86
|
type: T['type'];
|
|
93
87
|
} extends T ? T['type'] : never : never;
|
|
94
|
-
|
|
95
|
-
export type
|
|
96
|
-
|
|
88
|
+
type ConditionalRequired<T, Condition extends boolean> = Condition extends true ? Required<T> : T;
|
|
89
|
+
export type WithDynamicParams<TContext extends MachineContext, TExpressionEvent extends EventObject, T extends ParameterizedObject> = T extends any ? ConditionalRequired<{
|
|
90
|
+
type: T['type'];
|
|
91
|
+
params?: T['params'] | (({ context, event }: {
|
|
92
|
+
context: TContext;
|
|
93
|
+
event: TExpressionEvent;
|
|
94
|
+
}) => T['params']);
|
|
95
|
+
}, undefined extends T['params'] ? false : true> : never;
|
|
96
|
+
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = NoRequiredParams<TAction> | WithDynamicParams<TContext, TExpressionEvent, TAction> | ActionFunction<TContext, TExpressionEvent, TEvent, TExpressionAction, TActor, TAction, TGuard, TDelay>;
|
|
97
|
+
export type UnknownAction = Action<MachineContext, EventObject, EventObject, ParameterizedObject | undefined, ProvidedActor, ParameterizedObject, ParameterizedObject, string>;
|
|
98
|
+
export type Actions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = SingleOrArray<Action<TContext, TExpressionEvent, TEvent, TExpressionAction, TActor, TAction, TGuard, TDelay>>;
|
|
97
99
|
export type StateKey = string | AnyState;
|
|
98
100
|
export interface StateValueMap {
|
|
99
101
|
[key: string]: StateValue;
|
|
@@ -106,23 +108,19 @@ export interface StateValueMap {
|
|
|
106
108
|
*/
|
|
107
109
|
export type StateValue = string | StateValueMap;
|
|
108
110
|
export type TransitionTarget = SingleOrArray<string>;
|
|
109
|
-
export interface TransitionConfig<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
111
|
+
export interface TransitionConfig<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
110
112
|
guard?: Guard<TContext, TExpressionEvent, undefined, TGuard>;
|
|
111
|
-
actions?: Actions<TContext, TExpressionEvent, TEvent, undefined, TAction, TGuard, TDelay>;
|
|
113
|
+
actions?: Actions<TContext, TExpressionEvent, TEvent, undefined, TActor, TAction, TGuard, TDelay>;
|
|
112
114
|
reenter?: boolean;
|
|
113
115
|
target?: TransitionTarget | undefined;
|
|
114
116
|
meta?: Record<string, any>;
|
|
115
117
|
description?: string;
|
|
116
118
|
}
|
|
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> {
|
|
119
|
+
export interface InitialTransitionConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> extends TransitionConfig<TContext, TEvent, TEvent, TActor, TAction, TGuard, TDelay> {
|
|
118
120
|
target: TransitionTarget;
|
|
119
121
|
}
|
|
120
|
-
export type AnyTransitionConfig = TransitionConfig<any, any, any, any, any, any>;
|
|
121
|
-
export interface
|
|
122
|
-
src: string;
|
|
123
|
-
meta: MetaObject | undefined;
|
|
124
|
-
}
|
|
125
|
-
export interface InvokeDefinition<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
122
|
+
export type AnyTransitionConfig = TransitionConfig<any, any, any, any, any, any, any>;
|
|
123
|
+
export interface InvokeDefinition<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
126
124
|
id: string;
|
|
127
125
|
systemId: string | undefined;
|
|
128
126
|
/**
|
|
@@ -133,19 +131,18 @@ export interface InvokeDefinition<TContext extends MachineContext, TEvent extend
|
|
|
133
131
|
/**
|
|
134
132
|
* The transition to take upon the invoked child machine reaching its final top-level state.
|
|
135
133
|
*/
|
|
136
|
-
onDone?: string | SingleOrArray<TransitionConfig<TContext,
|
|
134
|
+
onDone?: string | SingleOrArray<TransitionConfig<TContext, DoneActorEvent<unknown>, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
137
135
|
/**
|
|
138
136
|
* The transition to take upon the invoked child machine sending an error event.
|
|
139
137
|
*/
|
|
140
|
-
onError?: string | SingleOrArray<TransitionConfig<TContext,
|
|
141
|
-
onSnapshot?: string | SingleOrArray<TransitionConfig<TContext, SnapshotEvent<
|
|
142
|
-
toJSON: () => Omit<InvokeDefinition<TContext, TEvent, TAction, TGuard, TDelay>, 'onDone' | 'onError' | 'toJSON'>;
|
|
143
|
-
meta: MetaObject | undefined;
|
|
138
|
+
onError?: string | SingleOrArray<TransitionConfig<TContext, ErrorActorEvent, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
139
|
+
onSnapshot?: string | SingleOrArray<TransitionConfig<TContext, SnapshotEvent<unknown>, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
140
|
+
toJSON: () => Omit<InvokeDefinition<TContext, TEvent, TActor, TAction, TGuard, TDelay>, 'onDone' | 'onError' | 'toJSON'>;
|
|
144
141
|
}
|
|
145
142
|
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> & {
|
|
143
|
+
export type DelayedTransitions<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
|
|
144
|
+
[K in Delay<TDelay>]?: string | SingleOrArray<TransitionConfig<TContext, TEvent, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
145
|
+
} | Array<TransitionConfig<TContext, TEvent, TEvent, TActor, TAction, TGuard, TDelay> & {
|
|
149
146
|
delay: Delay<TDelay> | ((args: UnifiedArg<TContext, TEvent>) => Delay<TDelay>);
|
|
150
147
|
}>;
|
|
151
148
|
export type StateTypes = 'atomic' | 'compound' | 'parallel' | 'final' | 'history' | string;
|
|
@@ -160,15 +157,15 @@ export type StatesDefinition<TContext extends MachineContext, TEvent extends Eve
|
|
|
160
157
|
[K in string]: StateNodeDefinition<TContext, TEvent>;
|
|
161
158
|
};
|
|
162
159
|
export type TransitionConfigTarget = string | undefined;
|
|
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 EventDescriptor<TEvent>]?: TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K>, TEvent, TAction, TGuard, TDelay>;
|
|
160
|
+
export type TransitionConfigOrTarget<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = SingleOrArray<TransitionConfigTarget | TransitionConfig<TContext, TExpressionEvent, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
161
|
+
export type TransitionsConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
|
|
162
|
+
[K in EventDescriptor<TEvent>]?: TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K>, TEvent, TActor, TAction, TGuard, TDelay>;
|
|
166
163
|
};
|
|
167
164
|
type PartialEventDescriptor<TEventType extends string> = TEventType extends `${infer TLeading}.${infer TTail}` ? `${TLeading}.*` | `${TLeading}.${PartialEventDescriptor<TTail>}` : never;
|
|
168
165
|
export type EventDescriptor<TEvent extends EventObject> = TEvent['type'] | PartialEventDescriptor<TEvent['type']> | '*';
|
|
169
166
|
type NormalizeDescriptor<TDescriptor extends string> = TDescriptor extends '*' ? string : TDescriptor extends `${infer TLeading}.*` ? `${TLeading}.${string}` : TDescriptor;
|
|
170
|
-
type IsLiteralString<T extends string> = string extends T ? false : true;
|
|
171
|
-
type DistributeActors<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> =
|
|
167
|
+
export type IsLiteralString<T extends string> = string extends T ? false : true;
|
|
168
|
+
type DistributeActors<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TSpecificActor extends ProvidedActor> = TSpecificActor extends {
|
|
172
169
|
src: infer TSrc;
|
|
173
170
|
} ? Compute<{
|
|
174
171
|
systemId?: string;
|
|
@@ -176,26 +173,22 @@ type DistributeActors<TContext extends MachineContext, TEvent extends EventObjec
|
|
|
176
173
|
* The source of the machine to be invoked, or the machine itself.
|
|
177
174
|
*/
|
|
178
175
|
src: TSrc;
|
|
179
|
-
input?: Mapper<TContext, TEvent, InputFrom<
|
|
176
|
+
input?: Mapper<TContext, TEvent, InputFrom<TSpecificActor['logic']>> | InputFrom<TSpecificActor['logic']>;
|
|
180
177
|
/**
|
|
181
178
|
* The transition to take upon the invoked child machine reaching its final top-level state.
|
|
182
179
|
*/
|
|
183
|
-
onDone?: string | SingleOrArray<TransitionConfigOrTarget<TContext,
|
|
180
|
+
onDone?: string | SingleOrArray<TransitionConfigOrTarget<TContext, DoneActorEvent<OutputFrom<TSpecificActor['logic']>>, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
184
181
|
/**
|
|
185
182
|
* The transition to take upon the invoked child machine sending an error event.
|
|
186
183
|
*/
|
|
187
|
-
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext,
|
|
188
|
-
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<
|
|
189
|
-
|
|
190
|
-
* Meta data related to this invocation
|
|
191
|
-
*/
|
|
192
|
-
meta?: MetaObject;
|
|
193
|
-
} & (TActor['id'] extends string ? {
|
|
184
|
+
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorActorEvent, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
185
|
+
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<SnapshotFrom<TSpecificActor['logic']>>, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
186
|
+
} & (TSpecificActor['id'] extends string ? {
|
|
194
187
|
/**
|
|
195
188
|
* The unique identifier for the invoked machine. If not specified, this
|
|
196
189
|
* will be the machine's own `id`, or the URL (from `src`).
|
|
197
190
|
*/
|
|
198
|
-
id:
|
|
191
|
+
id: TSpecificActor['id'];
|
|
199
192
|
} : {
|
|
200
193
|
/**
|
|
201
194
|
* The unique identifier for the invoked machine. If not specified, this
|
|
@@ -203,7 +196,7 @@ type DistributeActors<TContext extends MachineContext, TEvent extends EventObjec
|
|
|
203
196
|
*/
|
|
204
197
|
id?: string;
|
|
205
198
|
})> : never;
|
|
206
|
-
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> : {
|
|
199
|
+
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, TActor> : {
|
|
207
200
|
/**
|
|
208
201
|
* The unique identifier for the invoked machine. If not specified, this
|
|
209
202
|
* will be the machine's own `id`, or the URL (from `src`).
|
|
@@ -218,23 +211,21 @@ export type InvokeConfig<TContext extends MachineContext, TEvent extends EventOb
|
|
|
218
211
|
/**
|
|
219
212
|
* The transition to take upon the invoked child machine reaching its final top-level state.
|
|
220
213
|
*/
|
|
221
|
-
onDone?: string | SingleOrArray<TransitionConfigOrTarget<TContext,
|
|
214
|
+
onDone?: string | SingleOrArray<TransitionConfigOrTarget<TContext, DoneActorEvent<any>, // TODO: consider replacing with `unknown`
|
|
215
|
+
TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
222
216
|
/**
|
|
223
217
|
* The transition to take upon the invoked child machine sending an error event.
|
|
224
218
|
*/
|
|
225
|
-
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext,
|
|
226
|
-
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>,
|
|
227
|
-
|
|
228
|
-
* Meta data related to this invocation
|
|
229
|
-
*/
|
|
230
|
-
meta?: MetaObject;
|
|
219
|
+
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorActorEvent, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
220
|
+
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, // TODO: consider replacing with `unknown`
|
|
221
|
+
TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
231
222
|
};
|
|
232
223
|
export type AnyInvokeConfig = InvokeConfig<any, any, any, any, any, any>;
|
|
233
224
|
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> {
|
|
234
225
|
/**
|
|
235
226
|
* The initial state transition.
|
|
236
227
|
*/
|
|
237
|
-
initial?: InitialTransitionConfig<TContext, TEvent, TAction, TGuard, TDelay> | SingleOrArray<string> | undefined;
|
|
228
|
+
initial?: InitialTransitionConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay> | SingleOrArray<string> | undefined;
|
|
238
229
|
/**
|
|
239
230
|
* The type of this state node:
|
|
240
231
|
*
|
|
@@ -258,34 +249,34 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
|
|
|
258
249
|
/**
|
|
259
250
|
* The services to invoke upon entering this state node. These services will be stopped upon exiting this state node.
|
|
260
251
|
*/
|
|
261
|
-
invoke?: SingleOrArray<
|
|
252
|
+
invoke?: SingleOrArray<InvokeConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
262
253
|
/**
|
|
263
254
|
* The mapping of event types to their potential transition(s).
|
|
264
255
|
*/
|
|
265
|
-
on?: TransitionsConfig<TContext, TEvent, TAction, TGuard, TDelay>;
|
|
256
|
+
on?: TransitionsConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay>;
|
|
266
257
|
/**
|
|
267
258
|
* The action(s) to be executed upon entering the state node.
|
|
268
259
|
*/
|
|
269
|
-
entry?: Actions<TContext, TEvent, TEvent, undefined, TAction, TGuard, TDelay>;
|
|
260
|
+
entry?: Actions<TContext, TEvent, TEvent, undefined, TActor, TAction, TGuard, TDelay>;
|
|
270
261
|
/**
|
|
271
262
|
* The action(s) to be executed upon exiting the state node.
|
|
272
263
|
*/
|
|
273
|
-
exit?: Actions<TContext, TEvent, TEvent, undefined, TAction, TGuard, TDelay>;
|
|
264
|
+
exit?: Actions<TContext, TEvent, TEvent, undefined, TActor, TAction, TGuard, TDelay>;
|
|
274
265
|
/**
|
|
275
266
|
* The potential transition(s) to be taken upon reaching a final child state node.
|
|
276
267
|
*
|
|
277
268
|
* This is equivalent to defining a `[done(id)]` transition on this state node's `on` property.
|
|
278
269
|
*/
|
|
279
|
-
onDone?: string | SingleOrArray<TransitionConfig<TContext,
|
|
270
|
+
onDone?: string | SingleOrArray<TransitionConfig<TContext, DoneStateEvent, TEvent, TActor, TAction, TGuard, TDelay>> | undefined;
|
|
280
271
|
/**
|
|
281
272
|
* The mapping (or array) of delays (in milliseconds) to their potential transition(s).
|
|
282
273
|
* The delayed transitions are taken after the specified delay in an interpreter.
|
|
283
274
|
*/
|
|
284
|
-
after?: DelayedTransitions<TContext, TEvent, TAction, TGuard, TDelay>;
|
|
275
|
+
after?: DelayedTransitions<TContext, TEvent, TActor, TAction, TGuard, TDelay>;
|
|
285
276
|
/**
|
|
286
277
|
* An eventless transition that is always taken when this state node is active.
|
|
287
278
|
*/
|
|
288
|
-
always?: TransitionConfigOrTarget<TContext, TEvent, TEvent, TAction, TGuard, TDelay>;
|
|
279
|
+
always?: TransitionConfigOrTarget<TContext, TEvent, TEvent, TActor, TAction, TGuard, TDelay>;
|
|
289
280
|
/**
|
|
290
281
|
* @private
|
|
291
282
|
*/
|
|
@@ -295,7 +286,7 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
|
|
|
295
286
|
*/
|
|
296
287
|
meta?: any;
|
|
297
288
|
/**
|
|
298
|
-
* The output data sent with the "done.state._id_" event if this is a final state node.
|
|
289
|
+
* The output data sent with the "xstate.done.state._id_" event if this is a final state node.
|
|
299
290
|
*
|
|
300
291
|
* The output data will be evaluated with the current `context` and placed on the `.data` property
|
|
301
292
|
* of the event.
|
|
@@ -339,7 +330,7 @@ export interface StateNodeDefinition<TContext extends MachineContext, TEvent ext
|
|
|
339
330
|
meta: any;
|
|
340
331
|
order: number;
|
|
341
332
|
output?: FinalStateNodeConfig<TContext, TEvent>['output'];
|
|
342
|
-
invoke: Array<InvokeDefinition<TContext, TEvent, TODO, TODO, TODO>>;
|
|
333
|
+
invoke: Array<InvokeDefinition<TContext, TEvent, TODO, TODO, TODO, TODO>>;
|
|
343
334
|
description?: string;
|
|
344
335
|
tags: string[];
|
|
345
336
|
}
|
|
@@ -365,16 +356,16 @@ export interface HistoryStateNodeConfig<TContext extends MachineContext, TEvent
|
|
|
365
356
|
export interface FinalStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> extends AtomicStateNodeConfig<TContext, TEvent> {
|
|
366
357
|
type: 'final';
|
|
367
358
|
/**
|
|
368
|
-
* The data to be sent with the "done.state.<id>" event. The data can be
|
|
359
|
+
* The data to be sent with the "xstate.done.state.<id>" event. The data can be
|
|
369
360
|
* static or dynamic (based on assigners).
|
|
370
361
|
*/
|
|
371
362
|
output?: Mapper<TContext, TEvent, any>;
|
|
372
363
|
}
|
|
373
364
|
export type SimpleOrStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> = AtomicStateNodeConfig<TContext, TEvent> | StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO, TODO, TODO>;
|
|
374
|
-
export type ActionFunctionMap<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string> = {
|
|
365
|
+
export type ActionFunctionMap<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string> = {
|
|
375
366
|
[K in TAction['type']]?: ActionFunction<TContext, TEvent, TEvent, TAction extends {
|
|
376
367
|
type: K;
|
|
377
|
-
} ? TAction : never, TAction, TGuard, TDelay>;
|
|
368
|
+
} ? TAction : never, TActor, TAction, TGuard, TDelay>;
|
|
378
369
|
};
|
|
379
370
|
type GuardMap<TContext extends MachineContext, TEvent extends EventObject, TGuard extends ParameterizedObject> = {
|
|
380
371
|
[K in TGuard['type']]?: GuardPredicate<TContext, TEvent, TGuard extends {
|
|
@@ -383,9 +374,9 @@ type GuardMap<TContext extends MachineContext, TEvent extends EventObject, TGuar
|
|
|
383
374
|
};
|
|
384
375
|
export type DelayFunctionMap<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject> = Record<string, DelayConfig<TContext, TEvent, TAction>>;
|
|
385
376
|
export type DelayConfig<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = number | DelayExpr<TContext, TExpressionEvent, TExpressionAction>;
|
|
386
|
-
export interface MachineImplementationsSimplified<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject> {
|
|
377
|
+
export interface MachineImplementationsSimplified<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject> {
|
|
387
378
|
guards: GuardMap<TContext, TEvent, TGuard>;
|
|
388
|
-
actions: ActionFunctionMap<TContext, TEvent, TAction>;
|
|
379
|
+
actions: ActionFunctionMap<TContext, TEvent, TActor, TAction>;
|
|
389
380
|
actors: Record<string, AnyActorLogic | {
|
|
390
381
|
src: AnyActorLogic;
|
|
391
382
|
input: Mapper<TContext, TEvent, any> | any;
|
|
@@ -393,8 +384,8 @@ export interface MachineImplementationsSimplified<TContext extends MachineContex
|
|
|
393
384
|
delays: DelayFunctionMap<TContext, TEvent, TAction>;
|
|
394
385
|
}
|
|
395
386
|
type MaybeNarrowedEvent<TIndexedEvents, TCausingLookup, K> = Cast<Prop<TIndexedEvents, K extends keyof TCausingLookup ? TCausingLookup[K] : TIndexedEvents[keyof TIndexedEvents]>, EventObject>;
|
|
396
|
-
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'>> = {
|
|
397
|
-
[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']>;
|
|
387
|
+
type MachineImplementationsActions<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActions'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>, TIndexedActors = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedActors'>, TIndexedActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedActions'>, TIndexedGuards = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedGuards'>, TIndexedDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedDelays'>> = {
|
|
388
|
+
[K in keyof TIndexedActions]?: ActionFunction<TContext, MaybeNarrowedEvent<TIndexedEvents, TEventsCausingActions, K>, Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>, Cast<TIndexedActions[K], ParameterizedObject>, Cast<Prop<TIndexedActors, keyof TIndexedActors>, ProvidedActor>, Cast<Prop<TIndexedActions, keyof TIndexedActions>, ParameterizedObject>, Cast<Prop<TIndexedGuards, keyof TIndexedGuards>, ParameterizedObject>, Cast<Prop<TIndexedDelays, keyof TIndexedDelays>, ParameterizedObject>['type']>;
|
|
398
389
|
};
|
|
399
390
|
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'>> = {
|
|
400
391
|
[K in keyof TIndexedActors]?: Cast<Prop<TIndexedActors[K], 'logic'>, AnyActorLogic> | {
|
|
@@ -428,9 +419,9 @@ type GenerateGuardsImplementationsPart<TContext extends MachineContext, TResolve
|
|
|
428
419
|
}>;
|
|
429
420
|
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>>;
|
|
430
421
|
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>>;
|
|
431
|
-
type InitialContext<TContext extends MachineContext, TInput> = TContext | ContextFactory<TContext, TInput>;
|
|
432
|
-
export type ContextFactory<TContext extends MachineContext, TInput> = ({ spawn, input }: {
|
|
433
|
-
spawn: Spawner
|
|
422
|
+
type InitialContext<TContext extends MachineContext, TActor extends ProvidedActor, TInput> = TContext | ContextFactory<TContext, TActor, TInput>;
|
|
423
|
+
export type ContextFactory<TContext extends MachineContext, TActor extends ProvidedActor, TInput> = ({ spawn, input }: {
|
|
424
|
+
spawn: Spawner<TActor>;
|
|
434
425
|
input: TInput;
|
|
435
426
|
}) => TContext;
|
|
436
427
|
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'> & {
|
|
@@ -446,9 +437,9 @@ export type MachineConfig<TContext extends MachineContext, TEvent extends EventO
|
|
|
446
437
|
version?: string;
|
|
447
438
|
types?: MachineTypes<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>;
|
|
448
439
|
}) & (Equals<TContext, MachineContext> extends true ? {
|
|
449
|
-
context?: InitialContext<LowInfer<TContext>, TInput>;
|
|
440
|
+
context?: InitialContext<LowInfer<TContext>, TActor, TInput>;
|
|
450
441
|
} : {
|
|
451
|
-
context: InitialContext<LowInfer<TContext>, TInput>;
|
|
442
|
+
context: InitialContext<LowInfer<TContext>, TActor, TInput>;
|
|
452
443
|
});
|
|
453
444
|
export interface ProvidedActor {
|
|
454
445
|
src: string;
|
|
@@ -475,40 +466,22 @@ export type HistoryValue<TContext extends MachineContext, TEvent extends EventOb
|
|
|
475
466
|
export type AnyHistoryValue = HistoryValue<any, any>;
|
|
476
467
|
export type StateFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = T extends AnyStateMachine ? ReturnType<T['transition']> : T extends (...args: any[]) => AnyStateMachine ? ReturnType<ReturnType<T>['transition']> : never;
|
|
477
468
|
export type Transitions<TContext extends MachineContext, TEvent extends EventObject> = Array<TransitionDefinition<TContext, TEvent>>;
|
|
478
|
-
export
|
|
479
|
-
|
|
480
|
-
DoneState = "done.state",
|
|
481
|
-
DoneInvoke = "done.invoke",
|
|
482
|
-
ErrorExecution = "error.execution",
|
|
483
|
-
ErrorCommunication = "error.communication",
|
|
484
|
-
ErrorPlatform = "error.platform",
|
|
485
|
-
ErrorCustom = "xstate.error"
|
|
486
|
-
}
|
|
487
|
-
export interface DoneInvokeEvent<TOutput> {
|
|
488
|
-
type: `done.invoke.${string}`;
|
|
469
|
+
export interface DoneActorEvent<TOutput = unknown> {
|
|
470
|
+
type: `xstate.done.actor.${string}`;
|
|
489
471
|
output: TOutput;
|
|
490
472
|
}
|
|
491
|
-
export interface
|
|
492
|
-
type: `error.${string}`;
|
|
473
|
+
export interface ErrorActorEvent<TErrorData = unknown> extends EventObject {
|
|
474
|
+
type: `xstate.error.actor.${string}`;
|
|
493
475
|
data: TErrorData;
|
|
494
476
|
}
|
|
495
|
-
export interface SnapshotEvent<TData> {
|
|
477
|
+
export interface SnapshotEvent<TData = unknown> extends EventObject {
|
|
496
478
|
type: `xstate.snapshot.${string}`;
|
|
497
479
|
data: TData;
|
|
498
480
|
}
|
|
499
|
-
export interface
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
data: any;
|
|
503
|
-
}
|
|
504
|
-
export interface ErrorPlatformEvent extends EventObject {
|
|
505
|
-
data: any;
|
|
506
|
-
}
|
|
507
|
-
export interface DoneEventObject extends EventObject {
|
|
508
|
-
output?: any;
|
|
509
|
-
toString(): string;
|
|
481
|
+
export interface DoneStateEvent<TOutput = unknown> extends EventObject {
|
|
482
|
+
type: `xstate.done.state.${string}`;
|
|
483
|
+
output: TOutput;
|
|
510
484
|
}
|
|
511
|
-
export type DoneEvent = DoneEventObject & string;
|
|
512
485
|
export type DelayExpr<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => number;
|
|
513
486
|
export type LogExpr<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => unknown;
|
|
514
487
|
export type SendExpr<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject> = (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => TSentEvent;
|
|
@@ -528,10 +501,10 @@ export interface RaiseActionParams<TContext extends MachineContext, TExpressionE
|
|
|
528
501
|
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> {
|
|
529
502
|
event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent>;
|
|
530
503
|
}
|
|
531
|
-
export type Assigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = (args: AssignArgs<TContext, TExpressionEvent, TExpressionAction>) => Partial<TContext>;
|
|
532
|
-
export type PartialAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TKey extends keyof TContext> = (args: AssignArgs<TContext, TExpressionEvent, TExpressionAction>) => TContext[TKey];
|
|
533
|
-
export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = {
|
|
534
|
-
[K in keyof TContext]?: PartialAssigner<TContext, TExpressionEvent, TExpressionAction, K> | TContext[K];
|
|
504
|
+
export type Assigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends ProvidedActor> = (args: AssignArgs<TContext, TExpressionEvent, TExpressionAction, TActor>) => Partial<TContext>;
|
|
505
|
+
export type PartialAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends ProvidedActor, TKey extends keyof TContext> = (args: AssignArgs<TContext, TExpressionEvent, TExpressionAction, TActor>) => TContext[TKey];
|
|
506
|
+
export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends ProvidedActor> = {
|
|
507
|
+
[K in keyof TContext]?: PartialAssigner<TContext, TExpressionEvent, TExpressionAction, TActor, K> | TContext[K];
|
|
535
508
|
};
|
|
536
509
|
export type Mapper<TContext extends MachineContext, TEvent extends EventObject, TResult> = (args: {
|
|
537
510
|
context: TContext;
|
|
@@ -541,7 +514,7 @@ export type Mapper<TContext extends MachineContext, TEvent extends EventObject,
|
|
|
541
514
|
export type PropertyMapper<TContext extends MachineContext, TEvent extends EventObject, TParams extends {}> = {
|
|
542
515
|
[K in keyof TParams]?: Mapper<TContext, TEvent, TParams[K]> | TParams[K];
|
|
543
516
|
};
|
|
544
|
-
export interface TransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent, TEvent, TODO, TODO, TODO>, 'target' | 'guard'> {
|
|
517
|
+
export interface TransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent, TEvent, TODO, TODO, TODO, TODO>, 'target' | 'guard'> {
|
|
545
518
|
target: ReadonlyArray<StateNode<TContext, TEvent>> | undefined;
|
|
546
519
|
source: StateNode<TContext, TEvent>;
|
|
547
520
|
actions: readonly UnknownAction[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyActorLogic, AnyState } from "./index.js";
|
|
2
2
|
import type { StateNode } from "./StateNode.js";
|
|
3
|
-
import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer,
|
|
3
|
+
import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorActorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig } from "./types.js";
|
|
4
4
|
export declare function keys<T extends object>(value: T): Array<keyof T & string>;
|
|
5
5
|
export declare function matchesState(parentStateId: StateValue, childStateId: StateValue): boolean;
|
|
6
6
|
export declare function toStatePath(stateId: string | string[]): string[];
|
|
@@ -34,11 +34,10 @@ export declare function partition<T, A extends T, B extends T>(items: T[], predi
|
|
|
34
34
|
export declare function isArray(value: any): value is readonly any[];
|
|
35
35
|
export declare function isObservable<T>(value: any): value is Subscribable<T>;
|
|
36
36
|
export declare const uniqueId: () => string;
|
|
37
|
-
export declare function
|
|
37
|
+
export declare function isErrorActorEvent(event: AnyEventObject): event is ErrorActorEvent;
|
|
38
38
|
export declare function toTransitionConfigArray<TContext extends MachineContext, TEvent extends EventObject>(configLike: SingleOrArray<AnyTransitionConfig | TransitionConfigTarget>): Array<AnyTransitionConfig>;
|
|
39
39
|
export declare function normalizeTarget<TContext extends MachineContext, TEvent extends EventObject>(target: SingleOrArray<string | StateNode<TContext, TEvent>> | undefined): ReadonlyArray<string | StateNode<TContext, TEvent>> | undefined;
|
|
40
40
|
export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
|
|
41
|
-
export declare function toInvokeConfig<TContext extends MachineContext, TEvent extends EventObject>(invocable: AnyInvokeConfig | string | AnyActorLogic, id: string): AnyInvokeConfig;
|
|
42
41
|
export declare function toObserver<T>(nextHandler?: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
|
|
43
42
|
export declare function createInvokeId(stateNodeId: string, index: number): string;
|
|
44
43
|
export declare function resolveReferencedActor(referenced: AnyActorLogic | {
|