xstate 5.0.0-beta.45 → 5.0.0-beta.47
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 +4 -3
- package/actions/dist/xstate-actions.cjs.mjs +3 -2
- package/actions/dist/xstate-actions.development.cjs.js +4 -3
- package/actions/dist/xstate-actions.development.cjs.mjs +3 -2
- package/actions/dist/xstate-actions.development.esm.js +2 -2
- package/actions/dist/xstate-actions.esm.js +2 -2
- 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 +42 -5
- package/actors/dist/xstate-actors.development.cjs.js +42 -5
- package/actors/dist/xstate-actors.development.esm.js +42 -5
- package/actors/dist/xstate-actors.esm.js +42 -5
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/declarations/src/State.d.ts +16 -26
- package/dist/declarations/src/StateMachine.d.ts +11 -29
- package/dist/declarations/src/StateNode.d.ts +8 -6
- package/dist/declarations/src/actions/{spawn.d.ts → spawnChild.d.ts} +1 -1
- package/dist/declarations/src/actions/{stop.d.ts → stopChild.d.ts} +8 -2
- package/dist/declarations/src/actions.d.ts +2 -2
- package/dist/declarations/src/actors/observable.d.ts +41 -4
- package/dist/declarations/src/createMachine.d.ts +3 -3
- package/dist/declarations/src/index.d.ts +1 -1
- package/dist/declarations/src/setup.d.ts +11 -8
- package/dist/declarations/src/types.d.ts +41 -15
- package/dist/declarations/src/utils.d.ts +2 -1
- package/dist/{raise-90139fbc.development.esm.js → raise-156f5f68.development.esm.js} +47 -53
- package/dist/{raise-fabffc3d.cjs.js → raise-7af24c22.cjs.js} +49 -53
- package/dist/{raise-b3fb3c65.development.cjs.js → raise-7dc97582.development.cjs.js} +49 -53
- package/dist/{raise-2b5a4e4c.esm.js → raise-91ec8b4f.esm.js} +47 -53
- package/dist/{send-c124176f.cjs.js → send-401f5c30.cjs.js} +22 -1
- package/dist/{send-24cc8018.development.esm.js → send-7489590c.development.esm.js} +22 -1
- package/dist/{send-d0bc7eed.development.cjs.js → send-bc0d3e22.development.cjs.js} +22 -1
- package/dist/{send-8e7e41e7.esm.js → send-ed326064.esm.js} +22 -1
- package/dist/xstate.cjs.js +61 -82
- package/dist/xstate.cjs.mjs +3 -1
- package/dist/xstate.development.cjs.js +61 -82
- package/dist/xstate.development.cjs.mjs +3 -1
- package/dist/xstate.development.esm.js +60 -83
- package/dist/xstate.esm.js +60 -83
- 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
|
@@ -64,13 +64,15 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
64
64
|
/**
|
|
65
65
|
* The root machine node.
|
|
66
66
|
*/
|
|
67
|
-
machine: StateMachine<TContext, TEvent, any, //
|
|
67
|
+
machine: StateMachine<TContext, TEvent, any, // children
|
|
68
|
+
any, // actor
|
|
69
|
+
any, // action
|
|
70
|
+
any, // guard
|
|
71
|
+
any, // delay
|
|
72
|
+
any, // tag
|
|
68
73
|
any, // input
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
TODO, // delays
|
|
72
|
-
TODO, // tags
|
|
73
|
-
TODO>;
|
|
74
|
+
any, // output
|
|
75
|
+
any>;
|
|
74
76
|
/**
|
|
75
77
|
* The meta data associated with this state node, which will be returned in State instances.
|
|
76
78
|
*/
|
|
@@ -25,5 +25,5 @@ type SpawnArguments<TContext extends MachineContext, TExpressionEvent extends Ev
|
|
|
25
25
|
syncSnapshot?: boolean;
|
|
26
26
|
}
|
|
27
27
|
];
|
|
28
|
-
export declare function
|
|
28
|
+
export declare function spawnChild<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject, TActor extends ProvidedActor>(...[src, { id, systemId, input, syncSnapshot }]: SpawnArguments<TContext, TExpressionEvent, TEvent, TActor>): SpawnAction<TContext, TExpressionEvent, TParams, TEvent, TActor>;
|
|
29
29
|
export {};
|
|
@@ -4,9 +4,15 @@ export interface StopAction<TContext extends MachineContext, TExpressionEvent ex
|
|
|
4
4
|
(args: ActionArgs<TContext, TExpressionEvent, TEvent>, params: TParams): void;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
* Stops
|
|
7
|
+
* Stops a child actor.
|
|
8
8
|
*
|
|
9
9
|
* @param actorRef The actor to stop.
|
|
10
10
|
*/
|
|
11
|
-
export declare function
|
|
11
|
+
export declare function stopChild<TContext extends MachineContext, TExpressionEvent extends EventObject, TParams extends ParameterizedObject['params'] | undefined, TEvent extends EventObject>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TParams, TEvent>): StopAction<TContext, TExpressionEvent, TParams, TEvent>;
|
|
12
|
+
/**
|
|
13
|
+
* Stops a child actor.
|
|
14
|
+
*
|
|
15
|
+
* @deprecated Use `stopChild(...)` instead
|
|
16
|
+
*/
|
|
17
|
+
export declare const stop: typeof stopChild;
|
|
12
18
|
export {};
|
|
@@ -5,5 +5,5 @@ export { log, type LogAction } from "./actions/log.js";
|
|
|
5
5
|
export { pure, type PureAction } from "./actions/pure.js";
|
|
6
6
|
export { raise, type RaiseAction } from "./actions/raise.js";
|
|
7
7
|
export { escalate, forwardTo, sendParent, sendTo, type SendToAction } from "./actions/send.js";
|
|
8
|
-
export { stop, type StopAction } from "./actions/
|
|
9
|
-
export {
|
|
8
|
+
export { stop, stopChild, type StopAction } from "./actions/stopChild.js";
|
|
9
|
+
export { spawnChild, type SpawnAction } from "./actions/spawnChild.js";
|
|
@@ -22,6 +22,7 @@ export type ObservableActorRef<TContext> = ActorRefFrom<ObservableActorLogic<TCo
|
|
|
22
22
|
* - `input` - Data that was provided to the observable actor
|
|
23
23
|
* - `self` - The parent actor
|
|
24
24
|
* - `system` - The actor system to which the observable actor belongs
|
|
25
|
+
*
|
|
25
26
|
* It should return a {@link Subscribable}, which is compatible with an RxJS Observable, although RxJS is not required to create them.
|
|
26
27
|
*
|
|
27
28
|
* @example
|
|
@@ -54,12 +55,48 @@ export declare function fromObservable<TContext, TInput>(observableCreator: ({ i
|
|
|
54
55
|
self: ObservableActorRef<TContext>;
|
|
55
56
|
}) => Subscribable<TContext>): ObservableActorLogic<TContext, TInput>;
|
|
56
57
|
/**
|
|
57
|
-
* Creates event observable logic that listens to an observable
|
|
58
|
-
*
|
|
58
|
+
* Creates event observable logic that listens to an observable that delivers event objects.
|
|
59
|
+
*
|
|
60
|
+
* Event observable actor logic is described by an observable stream of {@link https://stately.ai/docs/transitions#event-objects | event objects}. Actors created from event observable logic (“event observable actors”) can:
|
|
61
|
+
*
|
|
62
|
+
* - Implicitly send events to its parent actor
|
|
63
|
+
* - Emit snapshots of its emitted event objects
|
|
64
|
+
*
|
|
65
|
+
* Sending events to event observable actors will have no effect.
|
|
59
66
|
*
|
|
67
|
+
* @param lazyObservable A function that creates an observable that delivers event objects. It receives one argument, an object with the following properties:
|
|
68
|
+
*
|
|
69
|
+
* - `input` - Data that was provided to the event observable actor
|
|
70
|
+
* - `self` - The parent actor
|
|
71
|
+
* - `system` - The actor system to which the event observable actor belongs.
|
|
72
|
+
*
|
|
73
|
+
* It should return a {@link Subscribable}, which is compatible with an RxJS Observable, although RxJS is not required to create them.
|
|
60
74
|
*
|
|
61
|
-
* @
|
|
62
|
-
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```ts
|
|
77
|
+
* import {
|
|
78
|
+
* fromEventObservable,
|
|
79
|
+
* Subscribable,
|
|
80
|
+
* EventObject,
|
|
81
|
+
* createMachine,
|
|
82
|
+
* createActor
|
|
83
|
+
* } from 'xstate';
|
|
84
|
+
* import { fromEvent } from 'rxjs';
|
|
85
|
+
*
|
|
86
|
+
* const mouseClickLogic = fromEventObservable(() =>
|
|
87
|
+
* fromEvent(document.body, 'click') as Subscribable<EventObject>
|
|
88
|
+
* );
|
|
89
|
+
*
|
|
90
|
+
* const canvasMachine = createMachine({
|
|
91
|
+
* invoke: {
|
|
92
|
+
* // Will send mouse `click` events to the canvas actor
|
|
93
|
+
* src: mouseClickLogic,
|
|
94
|
+
* }
|
|
95
|
+
* });
|
|
96
|
+
*
|
|
97
|
+
* const canvasActor = createActor(canvasMachine);
|
|
98
|
+
* canvasActor.start();
|
|
99
|
+
* ```
|
|
63
100
|
*/
|
|
64
101
|
export declare function fromEventObservable<T extends EventObject, TInput>(lazyObservable: ({ input, system }: {
|
|
65
102
|
input: TInput;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { MachineConfig, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, NonReducibleUnknown, Prop, AnyEventObject } from "./types.js";
|
|
2
|
-
import { TypegenConstraint, ResolveTypegenMeta, TypegenDisabled } from "./typegenTypes.js";
|
|
3
1
|
import { StateMachine } from "./StateMachine.js";
|
|
2
|
+
import { ResolveTypegenMeta, TypegenConstraint, TypegenDisabled } from "./typegenTypes.js";
|
|
3
|
+
import { AnyActorRef, AnyEventObject, Cast, InternalMachineImplementations, MachineConfig, MachineContext, NonReducibleUnknown, ParameterizedObject, Prop, ProvidedActor, ToChildren } from "./types.js";
|
|
4
4
|
export declare function createMachine<TContext extends MachineContext, TEvent extends AnyEventObject, // TODO: consider using a stricter `EventObject` here
|
|
5
|
-
TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput extends NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TDelay, Prop<ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>['resolved'], 'tags'> & string, TInput, TOutput, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
|
|
5
|
+
TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput extends NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>): StateMachine<TContext, TEvent, Cast<ToChildren<TActor>, Record<string, AnyActorRef | undefined>>, TActor, TAction, TGuard, TDelay, Prop<ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>['resolved'], 'tags'> & string, TInput, TOutput, ResolveTypegenMeta<TTypesMeta, TEvent, TActor, TAction, TGuard, TDelay, TTag>>;
|
|
@@ -11,7 +11,7 @@ import { Actor, createActor, interpret, Interpreter } from "./interpreter.js";
|
|
|
11
11
|
import { createMachine } from "./createMachine.js";
|
|
12
12
|
export { type MachineSnapshot, isMachineSnapshot } from "./State.js";
|
|
13
13
|
import { StateNode } from "./StateNode.js";
|
|
14
|
-
export { matchesState, pathToStateValue, toObserver } from "./utils.js";
|
|
14
|
+
export { matchesState, pathToStateValue, toObserver, getAllOwnEventDescriptors as __unsafe_getAllOwnEventDescriptors } from "./utils.js";
|
|
15
15
|
export { Actor, createActor, createMachine, interpret, StateNode, type Interpreter };
|
|
16
16
|
export type { InspectedActorEvent, InspectedEventEvent, InspectedSnapshotEvent, InspectionEvent } from "./system.js";
|
|
17
17
|
export { and, not, or, stateIn } from "./guards.js";
|
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StateMachine } from "./StateMachine.js";
|
|
2
2
|
import { GuardPredicate } from "./guards.js";
|
|
3
|
-
import {
|
|
3
|
+
import { ResolveTypegenMeta, TypegenDisabled } from "./typegenTypes.js";
|
|
4
|
+
import { ActionFunction, AnyActorLogic, AnyActorRef, AnyEventObject, Cast, DelayConfig, Invert, IsNever, MachineConfig, MachineContext, NonReducibleUnknown, ParameterizedObject, SetupTypes, ToChildren, Values } from "./types.js";
|
|
4
5
|
type ToParameterizedObject<TParameterizedMap extends Record<string, ParameterizedObject['params'] | undefined>> = Values<{
|
|
5
6
|
[K in keyof TParameterizedMap & string]: {
|
|
6
7
|
type: K;
|
|
7
8
|
params: TParameterizedMap[K];
|
|
8
9
|
};
|
|
9
10
|
}>;
|
|
10
|
-
type
|
|
11
|
-
|
|
11
|
+
type DefaultToAnyActors<TActors extends Record<string, AnyActorLogic>> = IsNever<keyof TActors> extends true ? Record<string, AnyActorLogic> : TActors;
|
|
12
|
+
type ToProvidedActor<TChildrenMap extends Record<string, string>, TActors extends Record<Values<TChildrenMap>, AnyActorLogic>> = Values<{
|
|
13
|
+
[K in keyof DefaultToAnyActors<TActors> & string]: {
|
|
12
14
|
src: K;
|
|
13
15
|
logic: TActors[K];
|
|
16
|
+
id: IsNever<TChildrenMap> extends true ? string | undefined : K extends keyof Invert<TChildrenMap> ? Invert<TChildrenMap>[K] : string | undefined;
|
|
14
17
|
};
|
|
15
18
|
}>;
|
|
16
19
|
export declare function setup<TContext extends MachineContext, TEvent extends AnyEventObject, // TODO: consider using a stricter `EventObject` here
|
|
17
|
-
TActors extends Record<
|
|
18
|
-
types?: SetupTypes<TContext, TEvent, TTag, TInput, TOutput>;
|
|
20
|
+
TActors extends Record<Values<TChildrenMap>, AnyActorLogic>, TActions extends Record<string, ParameterizedObject['params'] | undefined>, TGuards extends Record<string, ParameterizedObject['params'] | undefined>, TDelay extends string, TTag extends string, TInput, TOutput extends NonReducibleUnknown, TChildrenMap extends Record<string, string> = never>({ actors, actions, guards, delays }: {
|
|
21
|
+
types?: SetupTypes<TContext, TEvent, TChildrenMap, TTag, TInput, TOutput>;
|
|
19
22
|
actors?: TActors;
|
|
20
23
|
actions?: {
|
|
21
|
-
[K in keyof TActions]: ActionFunction<TContext, TEvent, TEvent, TActions[K], ToProvidedActor<TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay>;
|
|
24
|
+
[K in keyof TActions]: ActionFunction<TContext, TEvent, TEvent, TActions[K], ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay>;
|
|
22
25
|
};
|
|
23
26
|
guards?: {
|
|
24
27
|
[K in keyof TGuards]: GuardPredicate<TContext, TEvent, TGuards[K], ToParameterizedObject<TGuards>>;
|
|
@@ -27,6 +30,6 @@ TActors extends Record<string, AnyActorLogic>, TActions extends Record<string, P
|
|
|
27
30
|
[K in TDelay]: DelayConfig<TContext, TEvent, ToParameterizedObject<TActions>['params'], TEvent>;
|
|
28
31
|
};
|
|
29
32
|
}): {
|
|
30
|
-
createMachine:
|
|
33
|
+
createMachine: <const TConfig extends MachineConfig<TContext, TEvent, ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag, TInput, TOutput, ResolveTypegenMeta<TypegenDisabled, TEvent, ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag>>>(config: TConfig) => StateMachine<TContext, TEvent, Cast<ToChildren<ToProvidedActor<TChildrenMap, TActors>>, Record<string, AnyActorRef | undefined>>, ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag, TInput, TOutput, ResolveTypegenMeta<TypegenDisabled, TEvent, ToProvidedActor<TChildrenMap, TActors>, ToParameterizedObject<TActions>, ToParameterizedObject<TGuards>, TDelay, TTag>>;
|
|
31
34
|
};
|
|
32
35
|
export {};
|
|
@@ -17,6 +17,9 @@ export type HomomorphicPick<T, K extends keyof any> = {
|
|
|
17
17
|
export type HomomorphicOmit<T, K extends keyof any> = {
|
|
18
18
|
[P in keyof T as Exclude<P, K>]: T[P];
|
|
19
19
|
};
|
|
20
|
+
export type Invert<T extends Record<PropertyKey, PropertyKey>> = {
|
|
21
|
+
[K in keyof T as T[K]]: K;
|
|
22
|
+
};
|
|
20
23
|
export type GetParameterizedParams<T extends ParameterizedObject | undefined> = T extends any ? ('params' extends keyof T ? T['params'] : undefined) : never;
|
|
21
24
|
/**
|
|
22
25
|
*
|
|
@@ -77,13 +80,14 @@ export interface ParameterizedObject {
|
|
|
77
80
|
export interface UnifiedArg<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> {
|
|
78
81
|
context: TContext;
|
|
79
82
|
event: TExpressionEvent;
|
|
80
|
-
self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent,
|
|
83
|
+
self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent, Record<string, AnyActorRef | undefined>, // TODO: this should be replaced with `TChildren`
|
|
84
|
+
string, unknown>>;
|
|
81
85
|
system: ActorSystem<any>;
|
|
82
86
|
}
|
|
83
87
|
export type MachineContext = Record<string, any>;
|
|
84
88
|
export interface ActionArgs<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject> extends UnifiedArg<TContext, TExpressionEvent, TEvent> {
|
|
85
89
|
}
|
|
86
|
-
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 _TSnapshot, infer _TEvent, infer TInput, infer _TSystem> ? TInput : never;
|
|
90
|
+
export type InputFrom<T extends AnyActorLogic> = T extends StateMachine<infer _TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TInput : T extends ActorLogic<infer _TSnapshot, infer _TEvent, infer TInput, infer _TSystem> ? TInput : never;
|
|
87
91
|
export type OutputFrom<T extends AnyActorLogic> = T extends ActorLogic<infer TSnapshot, infer _TEvent, infer _TInput, infer _TSystem> ? (TSnapshot & {
|
|
88
92
|
status: 'done';
|
|
89
93
|
})['output'] : never;
|
|
@@ -348,7 +352,16 @@ export type AnyStateNodeDefinition = StateNodeDefinition<any, any>;
|
|
|
348
352
|
export type AnyMachineSnapshot = MachineSnapshot<any, any, any, any, any, any>;
|
|
349
353
|
/** @deprecated use `AnyMachineSnapshot` instead */
|
|
350
354
|
export type AnyState = AnyMachineSnapshot;
|
|
351
|
-
export type AnyStateMachine = StateMachine<any,
|
|
355
|
+
export type AnyStateMachine = StateMachine<any, // context
|
|
356
|
+
any, // event
|
|
357
|
+
any, // children
|
|
358
|
+
any, // actor
|
|
359
|
+
any, // action
|
|
360
|
+
any, // guard
|
|
361
|
+
any, // delay
|
|
362
|
+
any, // tag
|
|
363
|
+
any, // input
|
|
364
|
+
any, // output
|
|
352
365
|
any>;
|
|
353
366
|
export type AnyStateConfig = StateConfig<any, AnyEventObject>;
|
|
354
367
|
export interface AtomicStateNodeConfig<TContext extends MachineContext, TEvent extends EventObject> extends StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO, TODO, TODO> {
|
|
@@ -441,14 +454,15 @@ export interface ProvidedActor {
|
|
|
441
454
|
logic: AnyActorLogic;
|
|
442
455
|
id?: string;
|
|
443
456
|
}
|
|
444
|
-
export interface SetupTypes<TContext extends MachineContext, TEvent extends EventObject, TTag extends string, TInput, TOutput> {
|
|
457
|
+
export interface SetupTypes<TContext extends MachineContext, TEvent extends EventObject, TChildrenMap extends Record<string, string>, TTag extends string, TInput, TOutput> {
|
|
445
458
|
context?: TContext;
|
|
446
459
|
events?: TEvent;
|
|
460
|
+
children?: TChildrenMap;
|
|
447
461
|
tags?: TTag;
|
|
448
462
|
input?: TInput;
|
|
449
463
|
output?: TOutput;
|
|
450
464
|
}
|
|
451
|
-
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> extends SetupTypes<TContext, TEvent, TTag, TInput, TOutput> {
|
|
465
|
+
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> extends SetupTypes<TContext, TEvent, never, TTag, TInput, TOutput> {
|
|
452
466
|
actors?: TActor;
|
|
453
467
|
actions?: TAction;
|
|
454
468
|
guards?: TGuard;
|
|
@@ -506,7 +520,8 @@ export type PropertyAssigner<TContext extends MachineContext, TExpressionEvent e
|
|
|
506
520
|
export type Mapper<TContext extends MachineContext, TExpressionEvent extends EventObject, TResult, TEvent extends EventObject> = (args: {
|
|
507
521
|
context: TContext;
|
|
508
522
|
event: TExpressionEvent;
|
|
509
|
-
self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent,
|
|
523
|
+
self: ActorRef<TEvent, MachineSnapshot<TContext, TEvent, Record<string, AnyActorRef>, // TODO: this should be replaced with `TChildren`
|
|
524
|
+
string, unknown>>;
|
|
510
525
|
}) => TResult;
|
|
511
526
|
export interface TransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends Omit<TransitionConfig<TContext, TEvent, TEvent, TODO, TODO, TODO, TODO>, 'target' | 'guard'> {
|
|
512
527
|
target: ReadonlyArray<StateNode<TContext, TEvent>> | undefined;
|
|
@@ -547,7 +562,7 @@ export interface StateConfig<TContext extends MachineContext, TEvent extends Eve
|
|
|
547
562
|
status: 'active' | 'done' | 'error' | 'stopped';
|
|
548
563
|
output?: any;
|
|
549
564
|
error?: unknown;
|
|
550
|
-
machine?: StateMachine<TContext, TEvent, any, any, any, any, any, any, any>;
|
|
565
|
+
machine?: StateMachine<TContext, TEvent, any, any, any, any, any, any, any, any, any>;
|
|
551
566
|
}
|
|
552
567
|
export interface ActorOptions<TLogic extends AnyActorLogic> {
|
|
553
568
|
/**
|
|
@@ -730,16 +745,17 @@ export interface ActorRef<TEvent extends EventObject, TSnapshot extends Snapshot
|
|
|
730
745
|
src: string | AnyActorLogic;
|
|
731
746
|
}
|
|
732
747
|
export type AnyActorRef = ActorRef<any, any>;
|
|
733
|
-
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;
|
|
734
|
-
export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, infer
|
|
748
|
+
export type ActorLogicFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<any, any, any, any, any, any, any, any, any, any, any> ? R : R extends Promise<infer U> ? PromiseActorLogic<U> : never : never;
|
|
749
|
+
export type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer TEvent, infer TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer _TInput, infer TOutput, infer TResolvedTypesMeta> ? ActorRef<TEvent, MachineSnapshot<TContext, TEvent, TChildren, TTag, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>> : R extends Promise<infer U> ? ActorRefFrom<PromiseActorLogic<U>> : R extends ActorLogic<infer TSnapshot, infer TEvent, infer _TInput, infer _TSystem> ? ActorRef<TEvent, TSnapshot> : never : never;
|
|
735
750
|
export type DevToolsAdapter = (service: AnyActor) => void;
|
|
736
751
|
/**
|
|
737
752
|
* @deprecated Use `Actor<T>` instead.
|
|
738
753
|
*/
|
|
739
|
-
export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer
|
|
740
|
-
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, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
754
|
+
export type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer TEvent, infer TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer TTag, infer TInput, infer TOutput, infer TResolvedTypesMeta> ? Actor<ActorLogic<MachineSnapshot<TContext, TEvent, TChildren, TTag, TOutput, TResolvedTypesMeta>, TEvent, TInput, ActorSystem<any>>> : never;
|
|
755
|
+
export type MachineImplementationsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer TResolvedTypesMeta> ? InternalMachineImplementations<TContext, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
741
756
|
export type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, // context
|
|
742
757
|
any, // event
|
|
758
|
+
any, // children
|
|
743
759
|
any, // actor
|
|
744
760
|
any, // action
|
|
745
761
|
any, // guard
|
|
@@ -828,11 +844,11 @@ export type AnyActorLogic = ActorLogic<any, // snapshot
|
|
|
828
844
|
any, // event
|
|
829
845
|
any, // input
|
|
830
846
|
any>;
|
|
831
|
-
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<any, any, any, any> ? ReturnType<R['transition']> : R extends ActorScope<infer TSnapshot, infer _, infer __> ? TSnapshot : never : never;
|
|
847
|
+
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 _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? StateFrom<R> : R extends ActorLogic<any, any, any, any> ? ReturnType<R['transition']> : R extends ActorScope<infer TSnapshot, infer _, infer __> ? TSnapshot : never : never;
|
|
832
848
|
export type EventFromLogic<TLogic extends ActorLogic<any, any, any, any>> = TLogic extends ActorLogic<infer _, infer TEvent, infer __, infer _____> ? TEvent : never;
|
|
833
|
-
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 MachineSnapshot<infer _TContext, infer TEvent, infer
|
|
849
|
+
type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _TContext, infer TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends MachineSnapshot<infer _TContext, infer TEvent, infer _TChildren, infer _TTag, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends ActorRef<infer TEvent, infer _> ? TEvent : never : never;
|
|
834
850
|
export type EventFrom<T, K extends Prop<TEvent, 'type'> = never, TEvent extends EventObject = ResolveEventType<T>> = IsNever<K> extends true ? TEvent : ExtractEvent<TEvent, K>;
|
|
835
|
-
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 MachineSnapshot<infer TContext, infer _TEvent, infer
|
|
851
|
+
export type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : R extends MachineSnapshot<infer TContext, infer _TEvent, infer _TChildren, infer _TTag, infer _TOutput, infer _TResolvedTypesMeta> ? TContext : R extends Actor<infer TActorLogic> ? TActorLogic extends StateMachine<infer TContext, infer _TEvent, infer _TChildren, infer _TActor, infer _TAction, infer _TGuard, infer _TDelay, infer _TTag, infer _TInput, infer _TOutput, infer _TTypesMeta> ? TContext : never : never : never;
|
|
836
852
|
export type InferEvent<E extends EventObject> = {
|
|
837
853
|
[T in E['type']]: {
|
|
838
854
|
type: T;
|
|
@@ -851,5 +867,15 @@ export interface ActorSystem<T extends ActorSystemInfo> {
|
|
|
851
867
|
inspect: (observer: Observer<InspectionEvent>) => void;
|
|
852
868
|
}
|
|
853
869
|
export type AnyActorSystem = ActorSystem<any>;
|
|
854
|
-
export type RequiredActorOptions<TActor extends ProvidedActor> = ('id'
|
|
870
|
+
export type RequiredActorOptions<TActor extends ProvidedActor> = (undefined extends TActor['id'] ? never : 'id') | (undefined extends InputFrom<TActor['logic']> ? never : 'input');
|
|
871
|
+
type ExtractLiteralString<T extends string | undefined> = T extends string ? string extends T ? never : T : never;
|
|
872
|
+
type ToConcreteChildren<TActor extends ProvidedActor> = {
|
|
873
|
+
[A in TActor as ExtractLiteralString<A['id']>]?: ActorRefFrom<A['logic']>;
|
|
874
|
+
};
|
|
875
|
+
export type ToChildren<TActor extends ProvidedActor> = string extends TActor['src'] ? Record<string, AnyActorRef> : Compute<ToConcreteChildren<TActor> & {
|
|
876
|
+
include: {
|
|
877
|
+
[id: string]: TActor extends any ? ActorRefFrom<TActor['logic']> | undefined : never;
|
|
878
|
+
};
|
|
879
|
+
exclude: {};
|
|
880
|
+
}[undefined extends TActor['id'] ? 'include' : string extends TActor['id'] ? 'include' : 'exclude']>;
|
|
855
881
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StateNode } from "./StateNode.js";
|
|
2
|
-
import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorActorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig, NonReducibleUnknown, AnyStateMachine } from "./types.js";
|
|
2
|
+
import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorActorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig, NonReducibleUnknown, AnyStateMachine, AnyMachineSnapshot } from "./types.js";
|
|
3
3
|
export declare function keys<T extends object>(value: T): Array<keyof T & string>;
|
|
4
4
|
export declare function matchesState(parentStateId: StateValue, childStateId: StateValue): boolean;
|
|
5
5
|
export declare function toStatePath(stateId: string | string[]): string[];
|
|
@@ -38,3 +38,4 @@ export declare function reportUnhandledExceptionOnInvocation(originalError: any,
|
|
|
38
38
|
export declare function toObserver<T>(nextHandler?: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
|
|
39
39
|
export declare function createInvokeId(stateNodeId: string, index: number): string;
|
|
40
40
|
export declare function resolveReferencedActor(machine: AnyStateMachine, src: string): any;
|
|
41
|
+
export declare function getAllOwnEventDescriptors(snapshot: AnyMachineSnapshot): any[];
|
|
@@ -319,6 +319,9 @@ function resolveReferencedActor(machine, src) {
|
|
|
319
319
|
}
|
|
320
320
|
return machine.implementations.actors[src];
|
|
321
321
|
}
|
|
322
|
+
function getAllOwnEventDescriptors(snapshot) {
|
|
323
|
+
return [...new Set(flatten([...snapshot._nodes.map(sn => sn.ownEvents)]))];
|
|
324
|
+
}
|
|
322
325
|
|
|
323
326
|
const $$ACTOR_TYPE = 1;
|
|
324
327
|
// those values are currently used by @xstate/react directly so it's important to keep the assigned values in sync
|
|
@@ -345,32 +348,6 @@ const defaultOptions = {
|
|
|
345
348
|
* An Actor is a running process that can receive events, send events and change its behavior based on the events it receives, which can cause effects outside of the actor. When you run a state machine, it becomes an actor.
|
|
346
349
|
*/
|
|
347
350
|
class Actor {
|
|
348
|
-
/**
|
|
349
|
-
* The current internal state of the actor.
|
|
350
|
-
*/
|
|
351
|
-
|
|
352
|
-
/**
|
|
353
|
-
* The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions.
|
|
354
|
-
*/
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* The unique identifier for this actor relative to its parent.
|
|
358
|
-
*/
|
|
359
|
-
|
|
360
|
-
/** @internal */
|
|
361
|
-
|
|
362
|
-
// Actor Ref
|
|
363
|
-
|
|
364
|
-
// TODO: add typings for system
|
|
365
|
-
|
|
366
|
-
/**
|
|
367
|
-
* The globally unique process ID for this invocation.
|
|
368
|
-
*/
|
|
369
|
-
|
|
370
|
-
/**
|
|
371
|
-
* The system to which this actor belongs.
|
|
372
|
-
*/
|
|
373
|
-
|
|
374
351
|
/**
|
|
375
352
|
* Creates a new actor instance for the given logic with the provided options, if any.
|
|
376
353
|
*
|
|
@@ -379,24 +356,43 @@ class Actor {
|
|
|
379
356
|
*/
|
|
380
357
|
constructor(logic, options) {
|
|
381
358
|
this.logic = logic;
|
|
359
|
+
/**
|
|
360
|
+
* The current internal state of the actor.
|
|
361
|
+
*/
|
|
382
362
|
this._state = void 0;
|
|
363
|
+
/**
|
|
364
|
+
* The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions.
|
|
365
|
+
*/
|
|
383
366
|
this.clock = void 0;
|
|
384
367
|
this.options = void 0;
|
|
368
|
+
/**
|
|
369
|
+
* The unique identifier for this actor relative to its parent.
|
|
370
|
+
*/
|
|
385
371
|
this.id = void 0;
|
|
386
372
|
this.mailbox = new Mailbox(this._process.bind(this));
|
|
387
373
|
this.delayedEventsMap = {};
|
|
388
374
|
this.observers = new Set();
|
|
389
375
|
this.logger = void 0;
|
|
376
|
+
/** @internal */
|
|
390
377
|
this._processingStatus = ProcessingStatus.NotStarted;
|
|
378
|
+
// Actor Ref
|
|
391
379
|
this._parent = void 0;
|
|
392
380
|
this._syncSnapshot = void 0;
|
|
393
381
|
this.ref = void 0;
|
|
382
|
+
// TODO: add typings for system
|
|
394
383
|
this._actorScope = void 0;
|
|
395
384
|
this._systemId = void 0;
|
|
385
|
+
/**
|
|
386
|
+
* The globally unique process ID for this invocation.
|
|
387
|
+
*/
|
|
396
388
|
this.sessionId = void 0;
|
|
389
|
+
/**
|
|
390
|
+
* The system to which this actor belongs.
|
|
391
|
+
*/
|
|
397
392
|
this.system = void 0;
|
|
398
393
|
this._doneEvent = void 0;
|
|
399
394
|
this.src = void 0;
|
|
395
|
+
// array of functions to defer
|
|
400
396
|
this._deferred = [];
|
|
401
397
|
const resolvedOptions = {
|
|
402
398
|
...defaultOptions,
|
|
@@ -461,9 +457,6 @@ class Actor {
|
|
|
461
457
|
_initState(persistedState) {
|
|
462
458
|
this._state = persistedState ? this.logic.restoreState ? this.logic.restoreState(persistedState, this._actorScope) : persistedState : this.logic.getInitialState(this._actorScope, this.options?.input);
|
|
463
459
|
}
|
|
464
|
-
|
|
465
|
-
// array of functions to defer
|
|
466
|
-
|
|
467
460
|
update(snapshot, event) {
|
|
468
461
|
// Update state
|
|
469
462
|
this._state = snapshot;
|
|
@@ -963,26 +956,26 @@ function executeSpawn(actorScope, {
|
|
|
963
956
|
}
|
|
964
957
|
});
|
|
965
958
|
}
|
|
966
|
-
function
|
|
959
|
+
function spawnChild(...[src, {
|
|
967
960
|
id,
|
|
968
961
|
systemId,
|
|
969
962
|
input,
|
|
970
963
|
syncSnapshot = false
|
|
971
964
|
} = {}]) {
|
|
972
|
-
function
|
|
965
|
+
function spawnChild(args, params) {
|
|
973
966
|
{
|
|
974
967
|
throw new Error(`This isn't supposed to be called`);
|
|
975
968
|
}
|
|
976
969
|
}
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
return
|
|
970
|
+
spawnChild.type = 'xstate.spawnChild';
|
|
971
|
+
spawnChild.id = id;
|
|
972
|
+
spawnChild.systemId = systemId;
|
|
973
|
+
spawnChild.src = src;
|
|
974
|
+
spawnChild.input = input;
|
|
975
|
+
spawnChild.syncSnapshot = syncSnapshot;
|
|
976
|
+
spawnChild.resolve = resolveSpawn;
|
|
977
|
+
spawnChild.execute = executeSpawn;
|
|
978
|
+
return spawnChild;
|
|
986
979
|
}
|
|
987
980
|
|
|
988
981
|
function resolveStop(_, state, args, actionParams, {
|
|
@@ -1026,23 +1019,30 @@ function executeStop(actorScope, actorRef) {
|
|
|
1026
1019
|
});
|
|
1027
1020
|
}
|
|
1028
1021
|
/**
|
|
1029
|
-
* Stops
|
|
1022
|
+
* Stops a child actor.
|
|
1030
1023
|
*
|
|
1031
1024
|
* @param actorRef The actor to stop.
|
|
1032
1025
|
*/
|
|
1033
|
-
function
|
|
1026
|
+
function stopChild(actorRef) {
|
|
1034
1027
|
function stop(args, params) {
|
|
1035
1028
|
{
|
|
1036
1029
|
throw new Error(`This isn't supposed to be called`);
|
|
1037
1030
|
}
|
|
1038
1031
|
}
|
|
1039
|
-
stop.type = 'xstate.
|
|
1032
|
+
stop.type = 'xstate.stopChild';
|
|
1040
1033
|
stop.actorRef = actorRef;
|
|
1041
1034
|
stop.resolve = resolveStop;
|
|
1042
1035
|
stop.execute = executeStop;
|
|
1043
1036
|
return stop;
|
|
1044
1037
|
}
|
|
1045
1038
|
|
|
1039
|
+
/**
|
|
1040
|
+
* Stops a child actor.
|
|
1041
|
+
*
|
|
1042
|
+
* @deprecated Use `stopChild(...)` instead
|
|
1043
|
+
*/
|
|
1044
|
+
const stop = stopChild;
|
|
1045
|
+
|
|
1046
1046
|
function checkStateIn(state, _, {
|
|
1047
1047
|
stateValue
|
|
1048
1048
|
}) {
|
|
@@ -1790,7 +1790,7 @@ function enterStates(currentState, event, actorScope, filteredTransitions, mutSt
|
|
|
1790
1790
|
// Add entry actions
|
|
1791
1791
|
actions.push(...stateNodeToEnter.entry);
|
|
1792
1792
|
for (const invokeDef of stateNodeToEnter.invoke) {
|
|
1793
|
-
actions.push(
|
|
1793
|
+
actions.push(spawnChild(invokeDef.src, {
|
|
1794
1794
|
...invokeDef,
|
|
1795
1795
|
syncSnapshot: !!invokeDef.onSnapshot
|
|
1796
1796
|
}));
|
|
@@ -1941,7 +1941,7 @@ function exitStates(currentState, event, actorScope, transitions, mutStateNodeSe
|
|
|
1941
1941
|
}
|
|
1942
1942
|
}
|
|
1943
1943
|
for (const s of statesToExit) {
|
|
1944
|
-
nextState = resolveActionsAndContext(nextState, event, actorScope, [...s.exit, ...s.invoke.map(def =>
|
|
1944
|
+
nextState = resolveActionsAndContext(nextState, event, actorScope, [...s.exit, ...s.invoke.map(def => stopChild(def.id))], internalQueue);
|
|
1945
1945
|
mutStateNodeSet.delete(s);
|
|
1946
1946
|
}
|
|
1947
1947
|
return [nextState, changedHistory || historyValue];
|
|
@@ -2067,7 +2067,7 @@ function macrostep(state, event, actorScope, internalQueue = []) {
|
|
|
2067
2067
|
};
|
|
2068
2068
|
}
|
|
2069
2069
|
function stopChildren(nextState, event, actorScope) {
|
|
2070
|
-
return resolveActionsAndContext(nextState, event, actorScope, Object.values(nextState.children).map(child =>
|
|
2070
|
+
return resolveActionsAndContext(nextState, event, actorScope, Object.values(nextState.children).map(child => stopChild(child)), []);
|
|
2071
2071
|
}
|
|
2072
2072
|
function selectTransitions(event, nextState) {
|
|
2073
2073
|
return nextState.machine.getTransitionData(nextState, event);
|
|
@@ -2124,7 +2124,6 @@ const machineSnapshotToJSON = function toJSON() {
|
|
|
2124
2124
|
_nodes: nodes,
|
|
2125
2125
|
tags,
|
|
2126
2126
|
machine,
|
|
2127
|
-
getNextEvents,
|
|
2128
2127
|
getMeta,
|
|
2129
2128
|
toJSON,
|
|
2130
2129
|
can,
|
|
@@ -2137,9 +2136,6 @@ const machineSnapshotToJSON = function toJSON() {
|
|
|
2137
2136
|
tags: Array.from(tags)
|
|
2138
2137
|
};
|
|
2139
2138
|
};
|
|
2140
|
-
const machineSnapshotGetNextEvents = function getNextEvents() {
|
|
2141
|
-
return [...new Set(flatten([...this._nodes.map(sn => sn.ownEvents)]))];
|
|
2142
|
-
};
|
|
2143
2139
|
const machineSnapshotGetMeta = function getMeta() {
|
|
2144
2140
|
return this._nodes.reduce((acc, stateNode) => {
|
|
2145
2141
|
if (stateNode.meta !== undefined) {
|
|
@@ -2164,7 +2160,6 @@ function createMachineSnapshot(config, machine) {
|
|
|
2164
2160
|
matches: machineSnapshotMatches,
|
|
2165
2161
|
hasTag: machineSnapshotHasTag,
|
|
2166
2162
|
can: machineSnapshotCan,
|
|
2167
|
-
getNextEvents: machineSnapshotGetNextEvents,
|
|
2168
2163
|
getMeta: machineSnapshotGetMeta,
|
|
2169
2164
|
toJSON: machineSnapshotToJSON
|
|
2170
2165
|
};
|
|
@@ -2185,7 +2180,6 @@ function getPersistedState(state, options) {
|
|
|
2185
2180
|
can,
|
|
2186
2181
|
hasTag,
|
|
2187
2182
|
matches,
|
|
2188
|
-
getNextEvents,
|
|
2189
2183
|
getMeta,
|
|
2190
2184
|
toJSON,
|
|
2191
2185
|
...jsonValues
|
|
@@ -2292,4 +2286,4 @@ function raise(eventOrExpr, options) {
|
|
|
2292
2286
|
return raise;
|
|
2293
2287
|
}
|
|
2294
2288
|
|
|
2295
|
-
export { $$ACTOR_TYPE as $,
|
|
2289
|
+
export { $$ACTOR_TYPE as $, getPersistedState as A, resolveReferencedActor as B, createActor as C, Actor as D, interpret as E, isMachineSnapshot as F, matchesState as G, pathToStateValue as H, toObserver as I, and as J, not as K, or as L, stateIn as M, NULL_EVENT as N, cancel as O, raise as P, stop as Q, stopChild as R, STATE_DELIMITER as S, spawnChild as T, ProcessingStatus as U, createErrorActorEvent as V, XSTATE_ERROR as W, XSTATE_STOP as X, toTransitionConfigArray as a, formatTransition as b, createInvokeId as c, formatInitialTransition as d, evaluateGuard as e, formatTransitions as f, getDelayedTransitions as g, getCandidates as h, getAllStateNodes as i, getStateNodes as j, createMachineSnapshot as k, isInFinalState as l, mapValues as m, isErrorActorEvent as n, getAllOwnEventDescriptors as o, cloneMachineSnapshot as p, macrostep as q, resolveStateValue as r, transitionNode as s, toArray as t, resolveActionsAndContext as u, createInitEvent as v, microstep as w, getInitialStateNodes as x, isStateId as y, getStateNodeByPath as z };
|