xstate 5.0.0-beta.15 → 5.0.0-beta.17
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 +2 -7
- package/actions/dist/xstate-actions.cjs.mjs +2 -7
- package/actions/dist/xstate-actions.development.cjs.js +2 -7
- package/actions/dist/xstate-actions.development.esm.js +1 -1
- package/actions/dist/xstate-actions.esm.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js.map +1 -1
- package/actors/dist/xstate-actors.cjs.js +1 -1
- package/actors/dist/xstate-actors.development.cjs.js +1 -1
- package/actors/dist/xstate-actors.development.esm.js +1 -1
- package/actors/dist/xstate-actors.esm.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/{actions-98f362b9.development.esm.js → actions-13190b25.development.esm.js} +1335 -1537
- package/dist/{actions-d71ac253.development.cjs.js → actions-40bd643f.development.cjs.js} +1336 -1546
- package/dist/{actions-6884fae8.esm.js → actions-4d6514d2.esm.js} +1310 -1539
- package/dist/{actions-81cc7f2b.cjs.js → actions-5fb9f10d.cjs.js} +1311 -1548
- package/dist/declarations/src/State.d.ts +1 -1
- package/dist/declarations/src/StateMachine.d.ts +2 -4
- package/dist/declarations/src/StateNode.d.ts +4 -4
- package/dist/declarations/src/actions/assign.d.ts +11 -2
- package/dist/declarations/src/actions/cancel.d.ts +14 -3
- package/dist/declarations/src/actions/choose.d.ts +11 -3
- package/dist/declarations/src/actions/log.d.ts +22 -3
- package/dist/declarations/src/actions/pure.d.ts +17 -3
- package/dist/declarations/src/actions/raise.d.ts +5 -2
- package/dist/declarations/src/actions/send.d.ts +64 -22
- package/dist/declarations/src/actions/stop.d.ts +14 -2
- package/dist/declarations/src/actions.d.ts +5 -11
- package/dist/declarations/src/constantPrefixes.d.ts +6 -0
- package/dist/declarations/src/interpreter.d.ts +8 -3
- package/dist/declarations/src/stateUtils.d.ts +4 -8
- package/dist/declarations/src/types.d.ts +38 -223
- package/dist/declarations/src/utils.d.ts +1 -6
- package/dist/xstate.cjs.js +61 -52
- package/dist/xstate.cjs.mjs +1 -1
- package/dist/xstate.development.cjs.js +61 -52
- package/dist/xstate.development.esm.js +61 -52
- package/dist/xstate.esm.js +61 -52
- 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 +1 -1
- package/guards/dist/xstate-guards.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/actions/dynamicAction.ts +0 -42
- package/dist/declarations/src/actionTypes.d.ts +0 -16
- package/dist/declarations/src/constants.d.ts +0 -5
|
@@ -44,36 +44,14 @@ export interface ParameterizedObject {
|
|
|
44
44
|
type: string;
|
|
45
45
|
params?: Record<string, any>;
|
|
46
46
|
}
|
|
47
|
-
export interface BaseActionObject extends ParameterizedObject {
|
|
48
|
-
execute?: (actorCtx: AnyActorContext) => void;
|
|
49
|
-
}
|
|
50
|
-
export interface BuiltInActionObject extends ParameterizedObject {
|
|
51
|
-
type: `xstate.${string}`;
|
|
52
|
-
params: Record<string, any>;
|
|
53
|
-
}
|
|
54
47
|
export interface UnifiedArg<TContext extends MachineContext, TEvent extends EventObject> {
|
|
55
48
|
context: TContext;
|
|
56
49
|
event: TEvent;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
type: `xstate.${string}`;
|
|
60
|
-
params: TDynamicParams;
|
|
61
|
-
resolve: (event: TExpressionEvent, extra: {
|
|
62
|
-
state: State<TContext, TEvent>;
|
|
63
|
-
/**
|
|
64
|
-
* The original action object
|
|
65
|
-
*/
|
|
66
|
-
action: ParameterizedObject;
|
|
67
|
-
actorContext: AnyActorContext | undefined;
|
|
68
|
-
}) => [AnyState, TResolvedAction];
|
|
69
|
-
/** @deprecated an internal signature that doesn't exist at runtime. Its existence helps TS to choose a better code path in the inference algorithm */
|
|
70
|
-
(args: {
|
|
71
|
-
context: TContext;
|
|
72
|
-
event: TExpressionEvent;
|
|
73
|
-
} & ActionMeta<TEvent, ParameterizedObject>): void;
|
|
50
|
+
self: ActorRef<TEvent>;
|
|
51
|
+
system: ActorSystem<any>;
|
|
74
52
|
}
|
|
75
53
|
export type MachineContext = Record<string, any>;
|
|
76
|
-
export interface
|
|
54
|
+
export interface ActionArgs<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject> extends UnifiedArg<TContext, TEvent> {
|
|
77
55
|
action: TAction;
|
|
78
56
|
}
|
|
79
57
|
export type Spawner = <T extends ActorLogic<any, any> | string>(// TODO: read string from machine logic keys
|
|
@@ -82,28 +60,19 @@ logic: T, options?: Partial<{
|
|
|
82
60
|
systemId?: string;
|
|
83
61
|
input: any;
|
|
84
62
|
}>) => T extends ActorLogic<infer TActorEvent, infer TActorEmitted, infer _, infer __, infer ___> ? ActorRef<TActorEvent, TActorEmitted> : ActorRef<any, any>;
|
|
85
|
-
export interface
|
|
86
|
-
action: BaseActionObject;
|
|
87
|
-
event: TExpressionEvent;
|
|
63
|
+
export interface AssignArgs<TContext extends MachineContext, TExpressionEvent extends EventObject> extends ActionArgs<TContext, TExpressionEvent> {
|
|
88
64
|
spawn: Spawner;
|
|
89
65
|
}
|
|
90
|
-
export type ActionFunction<TContext extends MachineContext, TExpressionEvent extends EventObject,
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
export interface
|
|
66
|
+
export type ActionFunction<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject> = {
|
|
67
|
+
(args: ActionArgs<TContext, TExpressionEvent, TAction>): void;
|
|
68
|
+
_out_TEvent?: TEvent;
|
|
69
|
+
};
|
|
70
|
+
export interface ChooseBranch<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> {
|
|
95
71
|
guard?: GuardConfig<TContext, TExpressionEvent>;
|
|
96
72
|
actions: Actions<TContext, TExpressionEvent, TEvent>;
|
|
97
73
|
}
|
|
98
|
-
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = ActionType | ParameterizedObject | ActionFunction<TContext, TExpressionEvent,
|
|
99
|
-
|
|
100
|
-
* Extracts action objects that have no extra properties.
|
|
101
|
-
*/
|
|
102
|
-
type SimpleActionsFrom<T extends ParameterizedObject> = ParameterizedObject extends T ? T : ExtractWithSimpleSupport<T>;
|
|
103
|
-
export type BaseAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TAction extends ParameterizedObject, TEvent extends EventObject> = BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, any, // TODO: at the very least this should include TAction, but probably at a covariant position or something, we really need to rethink how action objects are typed
|
|
104
|
-
any> | TAction | SimpleActionsFrom<TAction>['type'] | ActionFunction<TContext, TExpressionEvent, TAction, TEvent>;
|
|
105
|
-
export type BaseActions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject> = SingleOrArray<BaseAction<TContext, TExpressionEvent, TAction, TEvent>>;
|
|
106
|
-
export type Actions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = SingleOrArray<Action<TContext, TEvent>>;
|
|
74
|
+
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = ActionType | ParameterizedObject | ActionFunction<TContext, TExpressionEvent, TEvent, ParameterizedObject>;
|
|
75
|
+
export type Actions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = SingleOrArray<Action<TContext, TExpressionEvent, TEvent>>;
|
|
107
76
|
export type StateKey = string | AnyState;
|
|
108
77
|
export interface StateValueMap {
|
|
109
78
|
[key: string]: StateValue;
|
|
@@ -118,7 +87,7 @@ export type StateValue = string | StateValueMap;
|
|
|
118
87
|
export type GuardPredicate<TContext extends MachineContext, TEvent extends EventObject> = (args: {
|
|
119
88
|
context: TContext;
|
|
120
89
|
event: TEvent;
|
|
121
|
-
} &
|
|
90
|
+
} & GuardArgs<TContext, TEvent>) => boolean;
|
|
122
91
|
export interface DefaultGuardObject<TContext extends MachineContext, TEvent extends EventObject> extends ParameterizedObject {
|
|
123
92
|
/**
|
|
124
93
|
* Nested guards
|
|
@@ -127,7 +96,7 @@ export interface DefaultGuardObject<TContext extends MachineContext, TEvent exte
|
|
|
127
96
|
predicate?: GuardPredicate<TContext, TEvent>;
|
|
128
97
|
}
|
|
129
98
|
export type GuardEvaluator<TContext extends MachineContext, TEvent extends EventObject> = (guard: GuardDefinition<TContext, TEvent>, context: TContext, event: TEvent, state: State<TContext, TEvent>) => boolean;
|
|
130
|
-
export interface
|
|
99
|
+
export interface GuardArgs<TContext extends MachineContext, TEvent extends EventObject> {
|
|
131
100
|
state: State<TContext, TEvent, any>;
|
|
132
101
|
guard: GuardDefinition<TContext, TEvent>;
|
|
133
102
|
evaluate: GuardEvaluator<TContext, TEvent>;
|
|
@@ -159,7 +128,7 @@ export interface BooleanGuardDefinition<TContext extends MachineContext, TEvent
|
|
|
159
128
|
export type TransitionTarget = SingleOrArray<string>;
|
|
160
129
|
export interface TransitionConfig<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TAction extends ParameterizedObject = ParameterizedObject> {
|
|
161
130
|
guard?: GuardConfig<TContext, TExpressionEvent>;
|
|
162
|
-
actions?:
|
|
131
|
+
actions?: Actions<TContext, TExpressionEvent, TEvent>;
|
|
163
132
|
reenter?: boolean;
|
|
164
133
|
target?: TransitionTarget | undefined;
|
|
165
134
|
meta?: Record<string, any>;
|
|
@@ -174,11 +143,6 @@ export interface InitialTransitionConfig<TContext extends MachineContext, TEvent
|
|
|
174
143
|
target: TransitionTarget;
|
|
175
144
|
}
|
|
176
145
|
export type Transition<TContext extends MachineContext, TEvent extends EventObject = EventObject> = string | TransitionConfig<TContext, TEvent> | ConditionalTransitionConfig<TContext, TEvent>;
|
|
177
|
-
type ExtractWithSimpleSupport<T extends {
|
|
178
|
-
type: string;
|
|
179
|
-
}> = T extends any ? {
|
|
180
|
-
type: T['type'];
|
|
181
|
-
} extends T ? T : never : never;
|
|
182
146
|
export type Receiver<TEvent extends EventObject> = (listener: {
|
|
183
147
|
bivarianceHack(event: TEvent): void;
|
|
184
148
|
}['bivarianceHack']) => void;
|
|
@@ -218,7 +182,7 @@ export interface Delay {
|
|
|
218
182
|
delay: number;
|
|
219
183
|
}
|
|
220
184
|
export type DelayedTransitions<TContext extends MachineContext, TEvent extends EventObject> = Record<string | number, string | SingleOrArray<TransitionConfig<TContext, TEvent>>> | Array<TransitionConfig<TContext, TEvent> & {
|
|
221
|
-
delay: number | string |
|
|
185
|
+
delay: number | string | ((args: UnifiedArg<TContext, TEvent>) => number);
|
|
222
186
|
}>;
|
|
223
187
|
export type StateTypes = 'atomic' | 'compound' | 'parallel' | 'final' | 'history' | string;
|
|
224
188
|
export type SingleOrArray<T> = T[] | T;
|
|
@@ -233,15 +197,9 @@ export type StatesDefinition<TContext extends MachineContext, TEvent extends Eve
|
|
|
233
197
|
};
|
|
234
198
|
export type TransitionConfigTarget = string | undefined;
|
|
235
199
|
export type TransitionConfigOrTarget<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = SingleOrArray<TransitionConfigTarget | TransitionConfig<TContext, TExpressionEvent, TEvent>>;
|
|
236
|
-
export type
|
|
237
|
-
[K in TEvent['type'] | '
|
|
200
|
+
export type TransitionsConfig<TContext extends MachineContext, TEvent extends EventObject> = {
|
|
201
|
+
[K in TEvent['type'] | '*']?: K extends '*' ? TransitionConfigOrTarget<TContext, TEvent> : TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K>, TEvent>;
|
|
238
202
|
};
|
|
239
|
-
type TransitionsConfigArray<TContext extends MachineContext, TEvent extends EventObject> = Array<(TEvent extends EventObject ? TransitionConfig<TContext, TEvent> & {
|
|
240
|
-
event: TEvent['type'];
|
|
241
|
-
} : never) | (TransitionConfig<TContext, TEvent> & {
|
|
242
|
-
event: '*';
|
|
243
|
-
})>;
|
|
244
|
-
export type TransitionsConfig<TContext extends MachineContext, TEvent extends EventObject> = TransitionsConfigMap<TContext, TEvent> | TransitionsConfigArray<TContext, TEvent>;
|
|
245
203
|
export interface InvokeConfig<TContext extends MachineContext, TEvent extends EventObject> {
|
|
246
204
|
/**
|
|
247
205
|
* The unique identifier for the invoked machine. If not specified, this
|
|
@@ -304,11 +262,11 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
|
|
|
304
262
|
/**
|
|
305
263
|
* The action(s) to be executed upon entering the state node.
|
|
306
264
|
*/
|
|
307
|
-
entry?:
|
|
265
|
+
entry?: Actions<TContext, TEvent, TEvent>;
|
|
308
266
|
/**
|
|
309
267
|
* The action(s) to be executed upon exiting the state node.
|
|
310
268
|
*/
|
|
311
|
-
exit?:
|
|
269
|
+
exit?: Actions<TContext, TEvent, TEvent>;
|
|
312
270
|
/**
|
|
313
271
|
* The potential transition(s) to be taken upon reaching a final child state node.
|
|
314
272
|
*
|
|
@@ -371,8 +329,8 @@ export interface StateNodeDefinition<TContext extends MachineContext, TEvent ext
|
|
|
371
329
|
states: StatesDefinition<TContext, TEvent>;
|
|
372
330
|
on: TransitionDefinitionMap<TContext, TEvent>;
|
|
373
331
|
transitions: Array<TransitionDefinition<TContext, TEvent>>;
|
|
374
|
-
entry:
|
|
375
|
-
exit:
|
|
332
|
+
entry: Action<any, any, any>[];
|
|
333
|
+
exit: Action<any, any, any>[];
|
|
376
334
|
meta: any;
|
|
377
335
|
order: number;
|
|
378
336
|
output?: FinalStateNodeConfig<TContext, TEvent>['output'];
|
|
@@ -381,7 +339,6 @@ export interface StateNodeDefinition<TContext extends MachineContext, TEvent ext
|
|
|
381
339
|
tags: string[];
|
|
382
340
|
}
|
|
383
341
|
export interface StateMachineDefinition<TContext extends MachineContext, TEvent extends EventObject> extends StateNodeDefinition<TContext, TEvent> {
|
|
384
|
-
context: TContext;
|
|
385
342
|
}
|
|
386
343
|
export type AnyStateNode = StateNode<any, any>;
|
|
387
344
|
export type AnyStateNodeDefinition = StateNodeDefinition<any, any>;
|
|
@@ -408,7 +365,7 @@ export interface FinalStateNodeConfig<TContext extends MachineContext, TEvent ex
|
|
|
408
365
|
}
|
|
409
366
|
export type SimpleOrStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> = AtomicStateNodeConfig<TContext, TEvent> | StateNodeConfig<TContext, TEvent>;
|
|
410
367
|
export type ActionFunctionMap<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject = ParameterizedObject> = {
|
|
411
|
-
[K in TAction['type']]?:
|
|
368
|
+
[K in TAction['type']]?: ActionFunction<TContext, TEvent, TEvent, TAction extends {
|
|
412
369
|
type: K;
|
|
413
370
|
} ? TAction : never>;
|
|
414
371
|
};
|
|
@@ -424,9 +381,7 @@ export interface MachineImplementationsSimplified<TContext extends MachineContex
|
|
|
424
381
|
delays: DelayFunctionMap<TContext, TEvent>;
|
|
425
382
|
}
|
|
426
383
|
type MachineImplementationsActions<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingActions = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingActions'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
427
|
-
[K in keyof TEventsCausingActions]?:
|
|
428
|
-
any> | ActionFunction<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, ParameterizedObject, // TODO: when bringing back parametrized actions this should accept something like `Cast<Prop<TIndexedActions, K>, ParameterizedObject>`. At the moment we need to keep this type argument consistent with what is provided to the fake callable signature within `BaseDynamicActionObject`
|
|
429
|
-
Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>>;
|
|
384
|
+
[K in keyof TEventsCausingActions]?: ActionFunction<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, Cast<Prop<TIndexedEvents, keyof TIndexedEvents>, EventObject>, ParameterizedObject>;
|
|
430
385
|
};
|
|
431
386
|
type MachineImplementationsDelays<TContext extends MachineContext, TResolvedTypesMeta, TEventsCausingDelays = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'eventsCausingDelays'>, TIndexedEvents = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'indexedEvents'>> = {
|
|
432
387
|
[K in keyof TEventsCausingDelays]?: DelayConfig<TContext, Cast<Prop<TIndexedEvents, TEventsCausingDelays[K]>, EventObject>>;
|
|
@@ -501,32 +456,14 @@ export type HistoryValue<TContext extends MachineContext, TEvent extends EventOb
|
|
|
501
456
|
export type AnyHistoryValue = HistoryValue<any, any>;
|
|
502
457
|
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;
|
|
503
458
|
export type Transitions<TContext extends MachineContext, TEvent extends EventObject> = Array<TransitionDefinition<TContext, TEvent>>;
|
|
504
|
-
export declare enum
|
|
505
|
-
Stop = "xstate.stop",
|
|
506
|
-
Raise = "xstate.raise",
|
|
507
|
-
Send = "xstate.send",
|
|
508
|
-
Cancel = "xstate.cancel",
|
|
509
|
-
Assign = "xstate.assign",
|
|
459
|
+
export declare enum ConstantPrefix {
|
|
510
460
|
After = "xstate.after",
|
|
511
461
|
DoneState = "done.state",
|
|
512
462
|
DoneInvoke = "done.invoke",
|
|
513
|
-
Log = "xstate.log",
|
|
514
|
-
Init = "xstate.init",
|
|
515
|
-
Invoke = "xstate.invoke",
|
|
516
463
|
ErrorExecution = "error.execution",
|
|
517
464
|
ErrorCommunication = "error.communication",
|
|
518
465
|
ErrorPlatform = "error.platform",
|
|
519
|
-
ErrorCustom = "xstate.error"
|
|
520
|
-
Pure = "xstate.pure",
|
|
521
|
-
Choose = "xstate.choose"
|
|
522
|
-
}
|
|
523
|
-
export interface RaiseActionObject<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> extends BaseActionObject {
|
|
524
|
-
type: ActionTypes.Raise;
|
|
525
|
-
params: {
|
|
526
|
-
event: TEvent;
|
|
527
|
-
delay: RaiseActionOptions<TContext, TExpressionEvent>['delay'];
|
|
528
|
-
id: string | number;
|
|
529
|
-
};
|
|
466
|
+
ErrorCustom = "xstate.error"
|
|
530
467
|
}
|
|
531
468
|
export interface DoneInvokeEvent<TData> extends EventObject {
|
|
532
469
|
type: `done.invoke.${string}`;
|
|
@@ -542,7 +479,7 @@ export interface SnapshotEvent<TData> {
|
|
|
542
479
|
}
|
|
543
480
|
export interface ErrorExecutionEvent extends EventObject {
|
|
544
481
|
src: string;
|
|
545
|
-
type:
|
|
482
|
+
type: ConstantPrefix.ErrorExecution;
|
|
546
483
|
data: any;
|
|
547
484
|
}
|
|
548
485
|
export interface ErrorPlatformEvent extends EventObject {
|
|
@@ -553,106 +490,29 @@ export interface DoneEventObject extends EventObject {
|
|
|
553
490
|
toString(): string;
|
|
554
491
|
}
|
|
555
492
|
export type DoneEvent = DoneEventObject & string;
|
|
556
|
-
export
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
id: string;
|
|
560
|
-
exec?: undefined;
|
|
561
|
-
meta: MetaObject | undefined;
|
|
562
|
-
}
|
|
563
|
-
export interface DynamicInvokeActionObject<TContext extends MachineContext, TEvent extends EventObject> {
|
|
564
|
-
type: ActionTypes.Invoke;
|
|
565
|
-
params: InvokeDefinition<TContext, TEvent>;
|
|
566
|
-
}
|
|
567
|
-
export interface InvokeActionObject extends BaseActionObject {
|
|
568
|
-
type: ActionTypes.Invoke;
|
|
569
|
-
params: {
|
|
570
|
-
src: string | ActorRef<any>;
|
|
571
|
-
id: string;
|
|
572
|
-
exec?: undefined;
|
|
573
|
-
ref?: ActorRef<any>;
|
|
574
|
-
meta: MetaObject | undefined;
|
|
575
|
-
};
|
|
576
|
-
}
|
|
577
|
-
export interface DynamicStopActionObject<TContext extends MachineContext, TExpressionEvent extends EventObject> {
|
|
578
|
-
type: ActionTypes.Stop;
|
|
579
|
-
params: {
|
|
580
|
-
actor: string | ActorRef<any> | Expr<TContext, TExpressionEvent, ActorRef<any> | string>;
|
|
581
|
-
};
|
|
582
|
-
}
|
|
583
|
-
export interface StopActionObject {
|
|
584
|
-
type: ActionTypes.Stop;
|
|
585
|
-
params: {
|
|
586
|
-
actor: ActorRef<any>;
|
|
587
|
-
};
|
|
588
|
-
}
|
|
589
|
-
export type DelayExpr<TContext extends MachineContext, TEvent extends EventObject> = ExprWithMeta<TContext, TEvent, number>;
|
|
590
|
-
export type LogExpr<TContext extends MachineContext, TEvent extends EventObject> = ExprWithMeta<TContext, TEvent, any>;
|
|
591
|
-
export interface DynamicLogAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> extends BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, LogActionObject, {
|
|
592
|
-
label: string | undefined;
|
|
593
|
-
expr: string | LogExpr<TContext, TExpressionEvent>;
|
|
594
|
-
}> {
|
|
595
|
-
type: ActionTypes.Log;
|
|
596
|
-
}
|
|
597
|
-
export interface LogActionObject extends BuiltInActionObject {
|
|
598
|
-
type: ActionTypes.Log;
|
|
599
|
-
params: {
|
|
600
|
-
label: string | undefined;
|
|
601
|
-
value: any;
|
|
602
|
-
};
|
|
603
|
-
}
|
|
604
|
-
export interface SendActionObject<TSentEvent extends EventObject = AnyEventObject> extends BaseActionObject {
|
|
605
|
-
type: 'xstate.send';
|
|
606
|
-
params: {
|
|
607
|
-
to: ActorRef<TSentEvent> | undefined;
|
|
608
|
-
event: TSentEvent;
|
|
609
|
-
delay?: number;
|
|
610
|
-
id: string | number;
|
|
611
|
-
internal: boolean;
|
|
612
|
-
};
|
|
613
|
-
}
|
|
614
|
-
export type Expr<TContext extends MachineContext, TEvent extends EventObject, T> = (arg: UnifiedArg<TContext, TEvent>) => T;
|
|
615
|
-
export type ExprWithMeta<TContext extends MachineContext, TEvent extends EventObject, T> = (args: UnifiedArg<TContext, TEvent> & StateMeta<TEvent>) => T;
|
|
616
|
-
export type SendExpr<TContext extends MachineContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject> = ExprWithMeta<TContext, TEvent, TSentEvent>;
|
|
493
|
+
export type DelayExpr<TContext extends MachineContext, TEvent extends EventObject> = (args: UnifiedArg<TContext, TEvent>) => number;
|
|
494
|
+
export type LogExpr<TContext extends MachineContext, TEvent extends EventObject> = (args: UnifiedArg<TContext, TEvent>) => unknown;
|
|
495
|
+
export type SendExpr<TContext extends MachineContext, TExpressionEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject> = (args: UnifiedArg<TContext, TExpressionEvent>) => TSentEvent;
|
|
617
496
|
export declare enum SpecialTargets {
|
|
618
497
|
Parent = "#_parent",
|
|
619
498
|
Internal = "#_internal"
|
|
620
499
|
}
|
|
621
|
-
export interface
|
|
622
|
-
to?: string | ActorRef<any, any> | ExprWithMeta<TContext, TEvent, string | ActorRef<any, any>>;
|
|
500
|
+
export interface SendToActionOptions<TContext extends MachineContext, TEvent extends EventObject> extends RaiseActionOptions<TContext, TEvent> {
|
|
623
501
|
}
|
|
624
502
|
export interface RaiseActionOptions<TContext extends MachineContext, TEvent extends EventObject> {
|
|
625
|
-
id?: string
|
|
503
|
+
id?: string;
|
|
626
504
|
delay?: number | string | DelayExpr<TContext, TEvent>;
|
|
627
505
|
}
|
|
628
506
|
export interface RaiseActionParams<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> extends RaiseActionOptions<TContext, TExpressionEvent> {
|
|
629
507
|
event: TEvent | SendExpr<TContext, TExpressionEvent, TEvent>;
|
|
630
508
|
}
|
|
631
|
-
export interface
|
|
509
|
+
export interface SendToActionParams<TContext extends MachineContext, TEvent extends EventObject, TSentEvent extends EventObject = EventObject> extends SendToActionOptions<TContext, TEvent> {
|
|
632
510
|
event: TSentEvent | SendExpr<TContext, TEvent, TSentEvent>;
|
|
633
511
|
}
|
|
634
|
-
export
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
};
|
|
639
|
-
}
|
|
640
|
-
export interface CancelActionObject extends BaseActionObject {
|
|
641
|
-
type: ActionTypes.Cancel;
|
|
642
|
-
params: {
|
|
643
|
-
sendId: string;
|
|
644
|
-
};
|
|
645
|
-
}
|
|
646
|
-
export type Assigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = (args: {
|
|
647
|
-
context: TContext;
|
|
648
|
-
event: TExpressionEvent;
|
|
649
|
-
} & AssignMeta<TExpressionEvent, TEvent>) => Partial<TContext>;
|
|
650
|
-
export type PartialAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TKey extends keyof TContext> = (args: {
|
|
651
|
-
context: TContext;
|
|
652
|
-
event: TExpressionEvent;
|
|
653
|
-
} & AssignMeta<TExpressionEvent, TEvent>) => TContext[TKey];
|
|
654
|
-
export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = {
|
|
655
|
-
[K in keyof TContext]?: PartialAssigner<TContext, TExpressionEvent, TEvent, K> | TContext[K];
|
|
512
|
+
export type Assigner<TContext extends MachineContext, TExpressionEvent extends EventObject> = (args: AssignArgs<TContext, TExpressionEvent>) => Partial<TContext>;
|
|
513
|
+
export type PartialAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject, TKey extends keyof TContext> = (args: AssignArgs<TContext, TExpressionEvent>) => TContext[TKey];
|
|
514
|
+
export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent extends EventObject> = {
|
|
515
|
+
[K in keyof TContext]?: PartialAssigner<TContext, TExpressionEvent, K> | TContext[K];
|
|
656
516
|
};
|
|
657
517
|
export type Mapper<TContext extends MachineContext, TEvent extends EventObject, TParams extends {}> = (args: {
|
|
658
518
|
context: TContext;
|
|
@@ -664,58 +524,17 @@ export type PropertyMapper<TContext extends MachineContext, TEvent extends Event
|
|
|
664
524
|
event: TEvent;
|
|
665
525
|
}) => TParams[K]) | TParams[K];
|
|
666
526
|
};
|
|
667
|
-
export interface AnyAssignAction extends BaseActionObject {
|
|
668
|
-
type: ActionTypes.Assign;
|
|
669
|
-
assignment: any;
|
|
670
|
-
}
|
|
671
|
-
export type DynamicAssignAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent> = BaseDynamicActionObject<TContext, TExpressionEvent, TEvent, AssignActionObject<TContext> | RaiseActionObject<TContext, TExpressionEvent>, {
|
|
672
|
-
assignment: Assigner<TContext, TExpressionEvent, TEvent> | PropertyAssigner<TContext, TExpressionEvent, TEvent>;
|
|
673
|
-
}>;
|
|
674
|
-
export interface AssignActionObject<TContext extends MachineContext> extends BaseActionObject {
|
|
675
|
-
type: ActionTypes.Assign;
|
|
676
|
-
params: {
|
|
677
|
-
context: TContext;
|
|
678
|
-
actions: BaseActionObject[];
|
|
679
|
-
};
|
|
680
|
-
}
|
|
681
|
-
export interface DynamicPureActionObject<TContext extends MachineContext, TEvent extends EventObject> {
|
|
682
|
-
type: ActionTypes.Pure;
|
|
683
|
-
params: {
|
|
684
|
-
get: (args: {
|
|
685
|
-
context: TContext;
|
|
686
|
-
event: TEvent;
|
|
687
|
-
}) => SingleOrArray<BaseActionObject | BaseActionObject['type']> | undefined;
|
|
688
|
-
};
|
|
689
|
-
}
|
|
690
|
-
export interface PureActionObject extends BaseActionObject {
|
|
691
|
-
type: ActionTypes.Pure;
|
|
692
|
-
params: {
|
|
693
|
-
actions: BaseActionObject[];
|
|
694
|
-
};
|
|
695
|
-
}
|
|
696
|
-
export interface ChooseAction<TContext extends MachineContext, TEvent extends EventObject> extends BaseActionObject {
|
|
697
|
-
type: ActionTypes.Choose;
|
|
698
|
-
params: {
|
|
699
|
-
guards: Array<ChooseCondition<TContext, TEvent>>;
|
|
700
|
-
};
|
|
701
|
-
}
|
|
702
|
-
export interface ResolvedChooseAction extends BaseActionObject {
|
|
703
|
-
type: ActionTypes.Choose;
|
|
704
|
-
params: {
|
|
705
|
-
actions: BaseActionObject[];
|
|
706
|
-
};
|
|
707
|
-
}
|
|
708
527
|
export interface TransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent>, 'target'> {
|
|
709
528
|
target: Array<StateNode<TContext, TEvent>> | undefined;
|
|
710
529
|
source: StateNode<TContext, TEvent>;
|
|
711
|
-
actions:
|
|
530
|
+
actions: Action<any, any, any>[];
|
|
712
531
|
reenter: boolean;
|
|
713
532
|
guard?: GuardDefinition<TContext, TEvent>;
|
|
714
533
|
eventType: TEvent['type'] | '*';
|
|
715
534
|
toJSON: () => {
|
|
716
535
|
target: string[] | undefined;
|
|
717
536
|
source: string;
|
|
718
|
-
actions:
|
|
537
|
+
actions: Action<any, any, any>[];
|
|
719
538
|
guard?: GuardDefinition<TContext, TEvent>;
|
|
720
539
|
eventType: TEvent['type'] | '*';
|
|
721
540
|
meta?: Record<string, any>;
|
|
@@ -759,10 +578,6 @@ export interface Segment<TContext extends MachineContext, TEvent extends EventOb
|
|
|
759
578
|
*/
|
|
760
579
|
event: TEvent;
|
|
761
580
|
}
|
|
762
|
-
export interface StateMeta<TEvent extends EventObject> {
|
|
763
|
-
self: ActorRef<TEvent>;
|
|
764
|
-
system: ActorSystem<any>;
|
|
765
|
-
}
|
|
766
581
|
export interface StateLike<TContext extends MachineContext> {
|
|
767
582
|
value: StateValue;
|
|
768
583
|
context: TContext;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AnyActorLogic, AnyState } from "./index.js";
|
|
2
|
-
import { NULL_EVENT } from "./constants.js";
|
|
3
2
|
import type { StateNode } from "./StateNode.js";
|
|
4
3
|
import type { ActorLogic, AnyEventObject, EventObject, EventType, InvokeConfig, MachineContext, Mapper, Observer, PropertyMapper, ErrorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfig, TransitionConfigTarget } from "./types.js";
|
|
5
4
|
export declare function keys<T extends object>(value: T): Array<keyof T & string>;
|
|
@@ -33,14 +32,10 @@ export declare function isPromiseLike(value: any): value is PromiseLike<any>;
|
|
|
33
32
|
export declare function isActorLogic(value: any): value is ActorLogic<any, any>;
|
|
34
33
|
export declare function partition<T, A extends T, B extends T>(items: T[], predicate: (item: T) => item is A): [A[], B[]];
|
|
35
34
|
export declare function isArray(value: any): value is any[];
|
|
36
|
-
export declare function isFunction(value: any): value is Function;
|
|
37
|
-
export declare function isString(value: any): value is string;
|
|
38
35
|
export declare function isObservable<T>(value: any): value is Subscribable<T>;
|
|
39
36
|
export declare const uniqueId: () => string;
|
|
40
37
|
export declare function isErrorEvent(event: AnyEventObject): event is ErrorEvent<any>;
|
|
41
|
-
export declare function toTransitionConfigArray<TContext extends MachineContext, TEvent extends EventObject>(
|
|
42
|
-
event: TEvent['type'] | typeof NULL_EVENT | '*';
|
|
43
|
-
}>;
|
|
38
|
+
export declare function toTransitionConfigArray<TContext extends MachineContext, TEvent extends EventObject>(configLike: SingleOrArray<TransitionConfig<TContext, TEvent> | TransitionConfigTarget>): Array<TransitionConfig<TContext, TEvent>>;
|
|
44
39
|
export declare function normalizeTarget<TContext extends MachineContext, TEvent extends EventObject>(target: SingleOrArray<string | StateNode<TContext, TEvent>> | undefined): Array<string | StateNode<TContext, TEvent>> | undefined;
|
|
45
40
|
export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
|
|
46
41
|
export declare function toInvokeConfig<TContext extends MachineContext, TEvent extends EventObject>(invocable: InvokeConfig<TContext, TEvent> | string | ActorLogic<any, any>, id: string): InvokeConfig<TContext, TEvent>;
|