xstate 5.0.0-beta.45 → 5.0.0-beta.46
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 -2
- package/actions/dist/xstate-actions.development.cjs.js +2 -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/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-2b5a4e4c.esm.js → raise-1682abb7.esm.js} +23 -36
- package/dist/{raise-fabffc3d.cjs.js → raise-a1d3d7e9.cjs.js} +23 -35
- package/dist/{raise-b3fb3c65.development.cjs.js → raise-a9e7e31c.development.cjs.js} +23 -35
- package/dist/{raise-90139fbc.development.esm.js → raise-fa23c2b9.development.esm.js} +23 -36
- package/dist/{send-c124176f.cjs.js → send-2fa3a204.cjs.js} +22 -1
- package/dist/{send-d0bc7eed.development.cjs.js → send-5b256a89.development.cjs.js} +22 -1
- package/dist/{send-24cc8018.development.esm.js → send-9acdf858.development.esm.js} +22 -1
- package/dist/{send-8e7e41e7.esm.js → send-a237e4e8.esm.js} +22 -1
- package/dist/xstate.cjs.js +59 -81
- package/dist/xstate.cjs.mjs +1 -0
- package/dist/xstate.development.cjs.js +59 -81
- package/dist/xstate.development.cjs.mjs +1 -0
- 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
|
*/
|
|
@@ -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[];
|
|
@@ -316,6 +316,9 @@ function resolveReferencedActor(machine, src) {
|
|
|
316
316
|
}
|
|
317
317
|
return machine.implementations.actors[src];
|
|
318
318
|
}
|
|
319
|
+
function getAllOwnEventDescriptors(snapshot) {
|
|
320
|
+
return [...new Set(flatten([...snapshot._nodes.map(sn => sn.ownEvents)]))];
|
|
321
|
+
}
|
|
319
322
|
|
|
320
323
|
const $$ACTOR_TYPE = 1;
|
|
321
324
|
// those values are currently used by @xstate/react directly so it's important to keep the assigned values in sync
|
|
@@ -342,32 +345,6 @@ const defaultOptions = {
|
|
|
342
345
|
* 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.
|
|
343
346
|
*/
|
|
344
347
|
class Actor {
|
|
345
|
-
/**
|
|
346
|
-
* The current internal state of the actor.
|
|
347
|
-
*/
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions.
|
|
351
|
-
*/
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* The unique identifier for this actor relative to its parent.
|
|
355
|
-
*/
|
|
356
|
-
|
|
357
|
-
/** @internal */
|
|
358
|
-
|
|
359
|
-
// Actor Ref
|
|
360
|
-
|
|
361
|
-
// TODO: add typings for system
|
|
362
|
-
|
|
363
|
-
/**
|
|
364
|
-
* The globally unique process ID for this invocation.
|
|
365
|
-
*/
|
|
366
|
-
|
|
367
|
-
/**
|
|
368
|
-
* The system to which this actor belongs.
|
|
369
|
-
*/
|
|
370
|
-
|
|
371
348
|
/**
|
|
372
349
|
* Creates a new actor instance for the given logic with the provided options, if any.
|
|
373
350
|
*
|
|
@@ -376,24 +353,43 @@ class Actor {
|
|
|
376
353
|
*/
|
|
377
354
|
constructor(logic, options) {
|
|
378
355
|
this.logic = logic;
|
|
356
|
+
/**
|
|
357
|
+
* The current internal state of the actor.
|
|
358
|
+
*/
|
|
379
359
|
this._state = void 0;
|
|
360
|
+
/**
|
|
361
|
+
* The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions.
|
|
362
|
+
*/
|
|
380
363
|
this.clock = void 0;
|
|
381
364
|
this.options = void 0;
|
|
365
|
+
/**
|
|
366
|
+
* The unique identifier for this actor relative to its parent.
|
|
367
|
+
*/
|
|
382
368
|
this.id = void 0;
|
|
383
369
|
this.mailbox = new Mailbox(this._process.bind(this));
|
|
384
370
|
this.delayedEventsMap = {};
|
|
385
371
|
this.observers = new Set();
|
|
386
372
|
this.logger = void 0;
|
|
373
|
+
/** @internal */
|
|
387
374
|
this._processingStatus = ProcessingStatus.NotStarted;
|
|
375
|
+
// Actor Ref
|
|
388
376
|
this._parent = void 0;
|
|
389
377
|
this._syncSnapshot = void 0;
|
|
390
378
|
this.ref = void 0;
|
|
379
|
+
// TODO: add typings for system
|
|
391
380
|
this._actorScope = void 0;
|
|
392
381
|
this._systemId = void 0;
|
|
382
|
+
/**
|
|
383
|
+
* The globally unique process ID for this invocation.
|
|
384
|
+
*/
|
|
393
385
|
this.sessionId = void 0;
|
|
386
|
+
/**
|
|
387
|
+
* The system to which this actor belongs.
|
|
388
|
+
*/
|
|
394
389
|
this.system = void 0;
|
|
395
390
|
this._doneEvent = void 0;
|
|
396
391
|
this.src = void 0;
|
|
392
|
+
// array of functions to defer
|
|
397
393
|
this._deferred = [];
|
|
398
394
|
const resolvedOptions = {
|
|
399
395
|
...defaultOptions,
|
|
@@ -458,9 +454,6 @@ class Actor {
|
|
|
458
454
|
_initState(persistedState) {
|
|
459
455
|
this._state = persistedState ? this.logic.restoreState ? this.logic.restoreState(persistedState, this._actorScope) : persistedState : this.logic.getInitialState(this._actorScope, this.options?.input);
|
|
460
456
|
}
|
|
461
|
-
|
|
462
|
-
// array of functions to defer
|
|
463
|
-
|
|
464
457
|
update(snapshot, event) {
|
|
465
458
|
// Update state
|
|
466
459
|
this._state = snapshot;
|
|
@@ -2076,7 +2069,6 @@ const machineSnapshotToJSON = function toJSON() {
|
|
|
2076
2069
|
_nodes: nodes,
|
|
2077
2070
|
tags,
|
|
2078
2071
|
machine,
|
|
2079
|
-
getNextEvents,
|
|
2080
2072
|
getMeta,
|
|
2081
2073
|
toJSON,
|
|
2082
2074
|
can,
|
|
@@ -2089,9 +2081,6 @@ const machineSnapshotToJSON = function toJSON() {
|
|
|
2089
2081
|
tags: Array.from(tags)
|
|
2090
2082
|
};
|
|
2091
2083
|
};
|
|
2092
|
-
const machineSnapshotGetNextEvents = function getNextEvents() {
|
|
2093
|
-
return [...new Set(flatten([...this._nodes.map(sn => sn.ownEvents)]))];
|
|
2094
|
-
};
|
|
2095
2084
|
const machineSnapshotGetMeta = function getMeta() {
|
|
2096
2085
|
return this._nodes.reduce((acc, stateNode) => {
|
|
2097
2086
|
if (stateNode.meta !== undefined) {
|
|
@@ -2116,7 +2105,6 @@ function createMachineSnapshot(config, machine) {
|
|
|
2116
2105
|
matches: machineSnapshotMatches,
|
|
2117
2106
|
hasTag: machineSnapshotHasTag,
|
|
2118
2107
|
can: machineSnapshotCan,
|
|
2119
|
-
getNextEvents: machineSnapshotGetNextEvents,
|
|
2120
2108
|
getMeta: machineSnapshotGetMeta,
|
|
2121
2109
|
toJSON: machineSnapshotToJSON
|
|
2122
2110
|
};
|
|
@@ -2137,7 +2125,6 @@ function getPersistedState(state, options) {
|
|
|
2137
2125
|
can,
|
|
2138
2126
|
hasTag,
|
|
2139
2127
|
matches,
|
|
2140
|
-
getNextEvents,
|
|
2141
2128
|
getMeta,
|
|
2142
2129
|
toJSON,
|
|
2143
2130
|
...jsonValues
|
|
@@ -2238,4 +2225,4 @@ function raise(eventOrExpr, options) {
|
|
|
2238
2225
|
return raise;
|
|
2239
2226
|
}
|
|
2240
2227
|
|
|
2241
|
-
export { $$ACTOR_TYPE as $,
|
|
2228
|
+
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, spawn as R, STATE_DELIMITER as S, ProcessingStatus as T, createErrorActorEvent as U, XSTATE_ERROR as V, 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 };
|
|
@@ -318,6 +318,9 @@ function resolveReferencedActor(machine, src) {
|
|
|
318
318
|
}
|
|
319
319
|
return machine.implementations.actors[src];
|
|
320
320
|
}
|
|
321
|
+
function getAllOwnEventDescriptors(snapshot) {
|
|
322
|
+
return [...new Set(flatten([...snapshot._nodes.map(sn => sn.ownEvents)]))];
|
|
323
|
+
}
|
|
321
324
|
|
|
322
325
|
const $$ACTOR_TYPE = 1;
|
|
323
326
|
// those values are currently used by @xstate/react directly so it's important to keep the assigned values in sync
|
|
@@ -344,32 +347,6 @@ const defaultOptions = {
|
|
|
344
347
|
* 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.
|
|
345
348
|
*/
|
|
346
349
|
class Actor {
|
|
347
|
-
/**
|
|
348
|
-
* The current internal state of the actor.
|
|
349
|
-
*/
|
|
350
|
-
|
|
351
|
-
/**
|
|
352
|
-
* The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions.
|
|
353
|
-
*/
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* The unique identifier for this actor relative to its parent.
|
|
357
|
-
*/
|
|
358
|
-
|
|
359
|
-
/** @internal */
|
|
360
|
-
|
|
361
|
-
// Actor Ref
|
|
362
|
-
|
|
363
|
-
// TODO: add typings for system
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* The globally unique process ID for this invocation.
|
|
367
|
-
*/
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* The system to which this actor belongs.
|
|
371
|
-
*/
|
|
372
|
-
|
|
373
350
|
/**
|
|
374
351
|
* Creates a new actor instance for the given logic with the provided options, if any.
|
|
375
352
|
*
|
|
@@ -378,24 +355,43 @@ class Actor {
|
|
|
378
355
|
*/
|
|
379
356
|
constructor(logic, options) {
|
|
380
357
|
this.logic = logic;
|
|
358
|
+
/**
|
|
359
|
+
* The current internal state of the actor.
|
|
360
|
+
*/
|
|
381
361
|
this._state = void 0;
|
|
362
|
+
/**
|
|
363
|
+
* The clock that is responsible for setting and clearing timeouts, such as delayed events and transitions.
|
|
364
|
+
*/
|
|
382
365
|
this.clock = void 0;
|
|
383
366
|
this.options = void 0;
|
|
367
|
+
/**
|
|
368
|
+
* The unique identifier for this actor relative to its parent.
|
|
369
|
+
*/
|
|
384
370
|
this.id = void 0;
|
|
385
371
|
this.mailbox = new Mailbox(this._process.bind(this));
|
|
386
372
|
this.delayedEventsMap = {};
|
|
387
373
|
this.observers = new Set();
|
|
388
374
|
this.logger = void 0;
|
|
375
|
+
/** @internal */
|
|
389
376
|
this._processingStatus = ProcessingStatus.NotStarted;
|
|
377
|
+
// Actor Ref
|
|
390
378
|
this._parent = void 0;
|
|
391
379
|
this._syncSnapshot = void 0;
|
|
392
380
|
this.ref = void 0;
|
|
381
|
+
// TODO: add typings for system
|
|
393
382
|
this._actorScope = void 0;
|
|
394
383
|
this._systemId = void 0;
|
|
384
|
+
/**
|
|
385
|
+
* The globally unique process ID for this invocation.
|
|
386
|
+
*/
|
|
395
387
|
this.sessionId = void 0;
|
|
388
|
+
/**
|
|
389
|
+
* The system to which this actor belongs.
|
|
390
|
+
*/
|
|
396
391
|
this.system = void 0;
|
|
397
392
|
this._doneEvent = void 0;
|
|
398
393
|
this.src = void 0;
|
|
394
|
+
// array of functions to defer
|
|
399
395
|
this._deferred = [];
|
|
400
396
|
const resolvedOptions = {
|
|
401
397
|
...defaultOptions,
|
|
@@ -460,9 +456,6 @@ class Actor {
|
|
|
460
456
|
_initState(persistedState) {
|
|
461
457
|
this._state = persistedState ? this.logic.restoreState ? this.logic.restoreState(persistedState, this._actorScope) : persistedState : this.logic.getInitialState(this._actorScope, this.options?.input);
|
|
462
458
|
}
|
|
463
|
-
|
|
464
|
-
// array of functions to defer
|
|
465
|
-
|
|
466
459
|
update(snapshot, event) {
|
|
467
460
|
// Update state
|
|
468
461
|
this._state = snapshot;
|
|
@@ -2078,7 +2071,6 @@ const machineSnapshotToJSON = function toJSON() {
|
|
|
2078
2071
|
_nodes: nodes,
|
|
2079
2072
|
tags,
|
|
2080
2073
|
machine,
|
|
2081
|
-
getNextEvents,
|
|
2082
2074
|
getMeta,
|
|
2083
2075
|
toJSON,
|
|
2084
2076
|
can,
|
|
@@ -2091,9 +2083,6 @@ const machineSnapshotToJSON = function toJSON() {
|
|
|
2091
2083
|
tags: Array.from(tags)
|
|
2092
2084
|
};
|
|
2093
2085
|
};
|
|
2094
|
-
const machineSnapshotGetNextEvents = function getNextEvents() {
|
|
2095
|
-
return [...new Set(flatten([...this._nodes.map(sn => sn.ownEvents)]))];
|
|
2096
|
-
};
|
|
2097
2086
|
const machineSnapshotGetMeta = function getMeta() {
|
|
2098
2087
|
return this._nodes.reduce((acc, stateNode) => {
|
|
2099
2088
|
if (stateNode.meta !== undefined) {
|
|
@@ -2118,7 +2107,6 @@ function createMachineSnapshot(config, machine) {
|
|
|
2118
2107
|
matches: machineSnapshotMatches,
|
|
2119
2108
|
hasTag: machineSnapshotHasTag,
|
|
2120
2109
|
can: machineSnapshotCan,
|
|
2121
|
-
getNextEvents: machineSnapshotGetNextEvents,
|
|
2122
2110
|
getMeta: machineSnapshotGetMeta,
|
|
2123
2111
|
toJSON: machineSnapshotToJSON
|
|
2124
2112
|
};
|
|
@@ -2139,7 +2127,6 @@ function getPersistedState(state, options) {
|
|
|
2139
2127
|
can,
|
|
2140
2128
|
hasTag,
|
|
2141
2129
|
matches,
|
|
2142
|
-
getNextEvents,
|
|
2143
2130
|
getMeta,
|
|
2144
2131
|
toJSON,
|
|
2145
2132
|
...jsonValues
|
|
@@ -2259,6 +2246,7 @@ exports.evaluateGuard = evaluateGuard;
|
|
|
2259
2246
|
exports.formatInitialTransition = formatInitialTransition;
|
|
2260
2247
|
exports.formatTransition = formatTransition;
|
|
2261
2248
|
exports.formatTransitions = formatTransitions;
|
|
2249
|
+
exports.getAllOwnEventDescriptors = getAllOwnEventDescriptors;
|
|
2262
2250
|
exports.getAllStateNodes = getAllStateNodes;
|
|
2263
2251
|
exports.getCandidates = getCandidates;
|
|
2264
2252
|
exports.getDelayedTransitions = getDelayedTransitions;
|