xstate 5.32.2 → 6.0.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -24
- package/dist/StateMachine-0aa98f54.development.esm.js +746 -0
- package/dist/StateMachine-aef700df.cjs.js +732 -0
- package/dist/StateMachine-d4931336.esm.js +729 -0
- package/dist/StateMachine-da872dde.development.cjs.js +749 -0
- package/dist/declarations/src/State.d.ts +11 -13
- package/dist/declarations/src/StateMachine.d.ts +40 -26
- package/dist/declarations/src/StateNode.d.ts +18 -54
- package/dist/declarations/src/actions.d.ts +14 -9
- package/dist/declarations/src/actors/callback.d.ts +42 -16
- package/dist/declarations/src/actors/index.d.ts +9 -6
- package/dist/declarations/src/actors/listener.d.ts +18 -0
- package/dist/declarations/src/actors/logic.d.ts +105 -0
- package/dist/declarations/src/actors/observable.d.ts +72 -27
- package/dist/declarations/src/actors/promise.d.ts +133 -48
- package/dist/declarations/src/actors/subscription.d.ts +22 -0
- package/dist/declarations/src/createActor.d.ts +33 -34
- package/dist/declarations/src/createMachine.d.ts +38 -7
- package/dist/declarations/src/createMachineFromConfig.d.ts +177 -0
- package/dist/declarations/src/graph/graph.d.ts +6 -4
- package/dist/declarations/src/graph/shortestPaths.d.ts +2 -2
- package/dist/declarations/src/graph/simplePaths.d.ts +2 -2
- package/dist/declarations/src/index.d.ts +13 -9
- package/dist/declarations/src/inspection.d.ts +84 -30
- package/dist/declarations/src/mapState.d.ts +4 -2
- package/dist/declarations/src/schema.types.d.ts +90 -0
- package/dist/declarations/src/serialize.d.ts +50 -0
- package/dist/declarations/src/setup.d.ts +396 -136
- package/dist/declarations/src/spawn.d.ts +7 -32
- package/dist/declarations/src/stateUtils.d.ts +22 -19
- package/dist/declarations/src/system.d.ts +8 -7
- package/dist/declarations/src/transition.d.ts +8 -5
- package/dist/declarations/src/transitionActions.d.ts +4 -0
- package/dist/declarations/src/types.d.ts +494 -429
- package/dist/declarations/src/types.v6.d.ts +423 -0
- package/dist/declarations/src/utils.d.ts +5 -3
- package/dist/index-219cb621.development.cjs.js +4476 -0
- package/dist/index-2f2fbd9b.development.esm.js +4421 -0
- package/dist/index-559ceab3.cjs.js +4437 -0
- package/dist/index-8828376f.esm.js +4382 -0
- package/dist/xstate-actors.cjs.js +12 -838
- package/dist/xstate-actors.cjs.mjs +10 -5
- package/dist/xstate-actors.development.cjs.js +12 -838
- package/dist/xstate-actors.development.cjs.mjs +10 -5
- package/dist/xstate-actors.development.esm.js +1 -836
- package/dist/xstate-actors.esm.js +1 -836
- package/dist/xstate-actors.umd.min.js +1 -1
- package/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/xstate-graph.cjs.js +18 -29
- package/dist/xstate-graph.development.cjs.js +18 -29
- package/dist/xstate-graph.development.esm.js +15 -26
- package/dist/xstate-graph.esm.js +15 -26
- package/dist/xstate-graph.umd.min.js +1 -1
- package/dist/xstate-graph.umd.min.js.map +1 -1
- package/dist/xstate.cjs.js +1477 -122
- package/dist/xstate.cjs.mjs +19 -22
- package/dist/xstate.development.cjs.js +1477 -122
- package/dist/xstate.development.cjs.mjs +19 -22
- package/dist/xstate.development.esm.js +1442 -86
- package/dist/xstate.esm.js +1442 -86
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/package.json +3 -47
- package/dist/StateMachine-23c204bb.development.esm.js +0 -566
- package/dist/StateMachine-67a0f463.development.cjs.js +0 -569
- package/dist/StateMachine-94d215e3.cjs.js +0 -563
- package/dist/StateMachine-d1d80308.esm.js +0 -560
- package/dist/assign-43b1b558.development.esm.js +0 -133
- package/dist/assign-54b312bc.esm.js +0 -127
- package/dist/assign-b5bc78f7.cjs.js +0 -129
- package/dist/assign-f8f66278.development.cjs.js +0 -135
- package/dist/declarations/src/actions/assign.d.ts +0 -45
- package/dist/declarations/src/actions/cancel.d.ts +0 -39
- package/dist/declarations/src/actions/emit.d.ts +0 -44
- package/dist/declarations/src/actions/enqueueActions.d.ts +0 -57
- package/dist/declarations/src/actions/log.d.ts +0 -16
- package/dist/declarations/src/actions/raise.d.ts +0 -21
- package/dist/declarations/src/actions/send.d.ts +0 -42
- package/dist/declarations/src/actions/spawnChild.d.ts +0 -34
- package/dist/declarations/src/actions/stopChild.d.ts +0 -19
- package/dist/declarations/src/actors/transition.d.ts +0 -143
- package/dist/declarations/src/dev/index.d.ts +0 -14
- package/dist/declarations/src/guards.d.ts +0 -128
- package/dist/log-9b02c355.esm.js +0 -401
- package/dist/log-c94995c7.cjs.js +0 -409
- package/dist/log-d9f3f459.development.cjs.js +0 -437
- package/dist/log-db444cad.development.esm.js +0 -429
- package/dist/raise-235108c6.esm.js +0 -2762
- package/dist/raise-45f11c00.development.esm.js +0 -2824
- package/dist/raise-c445379d.cjs.js +0 -2817
- package/dist/raise-eca73993.development.cjs.js +0 -2879
- package/dist/xstate-actions.cjs.d.mts +0 -2
- package/dist/xstate-actions.cjs.d.ts +0 -2
- package/dist/xstate-actions.cjs.js +0 -23
- package/dist/xstate-actions.cjs.mjs +0 -14
- package/dist/xstate-actions.development.cjs.js +0 -23
- package/dist/xstate-actions.development.cjs.mjs +0 -14
- package/dist/xstate-actions.development.esm.js +0 -4
- package/dist/xstate-actions.esm.js +0 -4
- package/dist/xstate-actions.umd.min.js +0 -2
- package/dist/xstate-actions.umd.min.js.map +0 -1
- package/dist/xstate-dev.cjs.d.mts +0 -2
- package/dist/xstate-dev.cjs.d.ts +0 -2
- package/dist/xstate-dev.cjs.js +0 -48
- package/dist/xstate-dev.cjs.mjs +0 -5
- package/dist/xstate-dev.development.cjs.js +0 -51
- package/dist/xstate-dev.development.cjs.mjs +0 -5
- package/dist/xstate-dev.development.esm.js +0 -45
- package/dist/xstate-dev.esm.js +0 -42
- package/dist/xstate-dev.umd.min.js +0 -2
- package/dist/xstate-dev.umd.min.js.map +0 -1
- package/dist/xstate-guards.cjs.d.mts +0 -2
- package/dist/xstate-guards.cjs.d.ts +0 -2
- package/dist/xstate-guards.cjs.js +0 -14
- package/dist/xstate-guards.cjs.mjs +0 -7
- package/dist/xstate-guards.development.cjs.js +0 -14
- package/dist/xstate-guards.development.cjs.mjs +0 -7
- package/dist/xstate-guards.development.esm.js +0 -2
- package/dist/xstate-guards.esm.js +0 -2
- package/dist/xstate-guards.umd.min.js +0 -2
- package/dist/xstate-guards.umd.min.js.map +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { MachineSnapshot } from "./State.js";
|
|
2
2
|
import type { StateNode } from "./StateNode.js";
|
|
3
|
-
import {
|
|
4
|
-
type
|
|
5
|
-
|
|
6
|
-
export declare function isAtomicStateNode(stateNode: StateNode<any, any>): boolean;
|
|
3
|
+
import { AnyEventObject, AnyMachineSnapshot, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, EventObject, ExecutableActionObject, MachineContext, StateValue, TransitionDefinition, AnyAction, AnyTransitionConfig, AnyActor, AnyActorScope } from "./types.js";
|
|
4
|
+
type AnyStateNodeIterable = Iterable<AnyStateNode>;
|
|
5
|
+
export declare function isAtomicStateNode(stateNode: AnyStateNode): boolean;
|
|
7
6
|
export declare function getProperAncestors(stateNode: AnyStateNode, toStateNode: AnyStateNode | undefined): Array<typeof stateNode>;
|
|
8
7
|
export declare function getAllStateNodes(stateNodes: Iterable<AnyStateNode>): Set<AnyStateNode>;
|
|
9
8
|
export declare function getStateValue(rootNode: AnyStateNode, stateNodes: AnyStateNodeIterable): StateValue;
|
|
@@ -13,13 +12,11 @@ export declare function getCandidates<TEvent extends EventObject>(stateNode: Sta
|
|
|
13
12
|
/** All delayed transitions from the config. */
|
|
14
13
|
export declare function getDelayedTransitions(stateNode: AnyStateNode): Array<DelayedTransitionDefinition<MachineContext, EventObject>>;
|
|
15
14
|
export declare function formatTransition(stateNode: AnyStateNode, descriptor: string, transitionConfig: AnyTransitionConfig): AnyTransitionDefinition;
|
|
16
|
-
export declare function formatTransitions<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode): Map<string, TransitionDefinition<TContext, TEvent>[]>;
|
|
17
15
|
/**
|
|
18
16
|
* Collects route transitions from all descendants with explicit IDs. Called
|
|
19
17
|
* once on the root node to avoid O(N²) repeated traversals.
|
|
20
18
|
*/
|
|
21
19
|
export declare function formatRouteTransitions(rootStateNode: AnyStateNode): void;
|
|
22
|
-
export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: string | undefined | InitialTransitionConfig<TContext, TEvent, TODO, TODO, TODO, TODO>): InitialTransitionDefinition<TContext, TEvent>;
|
|
23
20
|
/**
|
|
24
21
|
* Returns the relative state node from the given `statePath`, or throws.
|
|
25
22
|
*
|
|
@@ -32,21 +29,25 @@ export declare function getStateNodeByPath(stateNode: AnyStateNode, statePath: s
|
|
|
32
29
|
* @param stateValue The state value or State instance
|
|
33
30
|
*/
|
|
34
31
|
export declare function getStateNodes(stateNode: AnyStateNode, stateValue: StateValue): Array<AnyStateNode>;
|
|
35
|
-
export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, snapshot: MachineSnapshot<TContext, TEvent, any, any, any, any, any, any>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
32
|
+
export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, snapshot: MachineSnapshot<TContext, TEvent, any, any, any, any, any, any>, event: TEvent, self: AnyActor): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
36
33
|
type Microstep = readonly [AnyMachineSnapshot, ExecutableActionObject[]];
|
|
37
34
|
export declare function initialMicrostep(root: AnyStateNode, preInitialState: AnyMachineSnapshot, actorScope: AnyActorScope, initEvent: AnyEventObject, internalQueue: AnyEventObject[]): Microstep;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
];
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Gets the transition result for a given transition without executing the
|
|
37
|
+
* transition.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getTransitionResult(transition: Pick<AnyTransitionDefinition, 'target' | 'to' | 'source'> & {
|
|
40
|
+
reenter?: AnyTransitionDefinition['reenter'];
|
|
41
|
+
input?: AnyTransitionDefinition['input'];
|
|
42
|
+
context?: AnyTransitionDefinition['context'];
|
|
43
|
+
}, snapshot: AnyMachineSnapshot, event: AnyEventObject, actorScope: AnyActorScope): {
|
|
44
|
+
targets: Readonly<AnyStateNode[]> | undefined;
|
|
45
|
+
context: MachineContext | undefined;
|
|
46
|
+
actions: AnyAction[] | undefined;
|
|
47
|
+
reenter?: boolean;
|
|
48
|
+
internalEvents: EventObject[] | undefined;
|
|
49
|
+
input: Record<string, unknown> | undefined;
|
|
50
|
+
};
|
|
50
51
|
export declare function macrostep(snapshot: AnyMachineSnapshot, event: EventObject, actorScope: AnyActorScope, internalQueue: AnyEventObject[]): {
|
|
51
52
|
snapshot: typeof snapshot;
|
|
52
53
|
microsteps: Microstep[];
|
|
@@ -58,4 +59,6 @@ export declare function macrostep(snapshot: AnyMachineSnapshot, event: EventObje
|
|
|
58
59
|
* @param stateValue The partial state value to resolve.
|
|
59
60
|
*/
|
|
60
61
|
export declare function resolveStateValue(rootNode: AnyStateNode, stateValue: StateValue): StateValue;
|
|
62
|
+
export declare function hasEffect(transition: AnyTransitionDefinition, context: MachineContext, event: EventObject, snapshot: AnyMachineSnapshot, self: AnyActor): boolean;
|
|
63
|
+
export declare function evaluateCandidate(candidate: AnyTransitionDefinition, event: EventObject, snapshot: AnyMachineSnapshot, stateNode: AnyStateNode, self: AnyActor): boolean;
|
|
61
64
|
export {};
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { InspectionEvent } from "./inspection.js";
|
|
2
|
-
import { ActorSystemInfo,
|
|
2
|
+
import { ActorSystemInfo, AnyActor, Observer, EventObject, Subscription, TimersRestoreStrategy } from "./types.js";
|
|
3
3
|
interface ScheduledEvent {
|
|
4
4
|
id: string;
|
|
5
5
|
event: EventObject;
|
|
6
6
|
startedAt: number;
|
|
7
7
|
delay: number;
|
|
8
|
-
source:
|
|
9
|
-
target:
|
|
8
|
+
source: AnyActor;
|
|
9
|
+
target: AnyActor;
|
|
10
10
|
}
|
|
11
11
|
export interface Clock {
|
|
12
12
|
setTimeout(fn: (...args: any[]) => void, timeout: number): any;
|
|
13
13
|
clearTimeout(id: any): void;
|
|
14
14
|
}
|
|
15
15
|
interface Scheduler {
|
|
16
|
-
schedule(source:
|
|
17
|
-
cancel(source:
|
|
18
|
-
cancelAll(
|
|
16
|
+
schedule(source: AnyActor, target: AnyActor, event: EventObject, delay: number, id: string | undefined): void;
|
|
17
|
+
cancel(source: AnyActor, id: string): void;
|
|
18
|
+
cancelAll(actor: AnyActor): void;
|
|
19
19
|
}
|
|
20
20
|
export interface ActorSystem<T extends ActorSystemInfo> {
|
|
21
21
|
get: <K extends keyof T['actors']>(key: K) => T['actors'][K] | undefined;
|
|
@@ -30,9 +30,10 @@ export interface ActorSystem<T extends ActorSystemInfo> {
|
|
|
30
30
|
_logger: (...args: any[]) => void;
|
|
31
31
|
}
|
|
32
32
|
export type AnyActorSystem = ActorSystem<any>;
|
|
33
|
-
export declare function
|
|
33
|
+
export declare function createRuntimeSystem<T extends ActorSystemInfo>(rootActor: AnyActor, options: {
|
|
34
34
|
clock: Clock;
|
|
35
35
|
logger: (...args: any[]) => void;
|
|
36
36
|
snapshot?: unknown;
|
|
37
|
+
timers?: TimersRestoreStrategy;
|
|
37
38
|
}): ActorSystem<T>;
|
|
38
39
|
export {};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { AnyActorLogic, AnyStateMachine, EventFromLogic, InputFrom, SnapshotFrom,
|
|
1
|
+
import { AnyActorLogic, AnyStateMachine, EventFromLogic, InputFrom, SnapshotFrom, ExecutableActionObjectFromLogic, AnyTransitionDefinition, AnyMachineSnapshot } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Given actor `logic`, a `snapshot`, and an `event`, returns a tuple of the
|
|
4
4
|
* `nextSnapshot` and `actions` to execute.
|
|
5
5
|
*
|
|
6
6
|
* This is a pure function that does not execute `actions`.
|
|
7
7
|
*/
|
|
8
|
-
export declare function transition<T extends AnyActorLogic>(logic: T, snapshot: SnapshotFrom<T>, event: EventFromLogic<T>): [
|
|
8
|
+
export declare function transition<T extends AnyActorLogic>(logic: T, snapshot: SnapshotFrom<T>, event: EventFromLogic<T>): [
|
|
9
|
+
nextSnapshot: SnapshotFrom<T>,
|
|
10
|
+
actions: ExecutableActionObjectFromLogic<T>[]
|
|
11
|
+
];
|
|
9
12
|
/**
|
|
10
13
|
* Given actor `logic` and optional `input`, returns a tuple of the
|
|
11
14
|
* `nextSnapshot` and `actions` to execute from the initial transition (no
|
|
@@ -13,14 +16,14 @@ export declare function transition<T extends AnyActorLogic>(logic: T, snapshot:
|
|
|
13
16
|
*
|
|
14
17
|
* This is a pure function that does not execute `actions`.
|
|
15
18
|
*/
|
|
16
|
-
export declare function initialTransition<T extends AnyActorLogic>(logic: T, ...[input]: undefined extends InputFrom<T> ? [input?: InputFrom<T>] : [input: InputFrom<T>]): [SnapshotFrom<T>,
|
|
19
|
+
export declare function initialTransition<T extends AnyActorLogic>(logic: T, ...[input]: undefined extends InputFrom<T> ? [input?: InputFrom<T>] : [input: InputFrom<T>]): [SnapshotFrom<T>, ExecutableActionObjectFromLogic<T>[]];
|
|
17
20
|
/**
|
|
18
21
|
* Given a state `machine`, a `snapshot`, and an `event`, returns an array of
|
|
19
22
|
* microsteps, where each microstep is a tuple of `[snapshot, actions]`.
|
|
20
23
|
*
|
|
21
24
|
* This is a pure function that does not execute `actions`.
|
|
22
25
|
*/
|
|
23
|
-
export declare function getMicrosteps<T extends AnyStateMachine>(machine: T, snapshot: SnapshotFrom<T>, event: EventFromLogic<T>): Array<[SnapshotFrom<T>,
|
|
26
|
+
export declare function getMicrosteps<T extends AnyStateMachine>(machine: T, snapshot: SnapshotFrom<T>, event: EventFromLogic<T>): Array<[SnapshotFrom<T>, ExecutableActionObjectFromLogic<T>[]]>;
|
|
24
27
|
/**
|
|
25
28
|
* Given a state `machine` and optional `input`, returns an array of microsteps
|
|
26
29
|
* from the initial transition, where each microstep is a tuple of `[snapshot,
|
|
@@ -28,7 +31,7 @@ export declare function getMicrosteps<T extends AnyStateMachine>(machine: T, sna
|
|
|
28
31
|
*
|
|
29
32
|
* This is a pure function that does not execute `actions`.
|
|
30
33
|
*/
|
|
31
|
-
export declare function getInitialMicrosteps<T extends AnyStateMachine>(machine: T, ...[input]: undefined extends InputFrom<T> ? [input?: InputFrom<T>] : [input: InputFrom<T>]): Array<[SnapshotFrom<T>,
|
|
34
|
+
export declare function getInitialMicrosteps<T extends AnyStateMachine>(machine: T, ...[input]: undefined extends InputFrom<T> ? [input?: InputFrom<T>] : [input: InputFrom<T>]): Array<[SnapshotFrom<T>, ExecutableActionObjectFromLogic<T>[]]>;
|
|
32
35
|
/**
|
|
33
36
|
* Gets all potential next transitions from the current state.
|
|
34
37
|
*
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AnyAction, AnyActorScope, AnyEventObject, AnyMachineSnapshot, EnqueueObject, EventObject, ExecutableActionObject, SpecialExecutableAction } from "./types.js";
|
|
2
|
+
export declare function createTransitionEnqueue(actorScope: AnyActorScope, actions: any[], internalEvents: EventObject[], actorSubscriptions?: boolean): EnqueueObject<any, any>;
|
|
3
|
+
export declare function isBuiltInExecutableAction(action: ExecutableActionObject): action is SpecialExecutableAction;
|
|
4
|
+
export declare function resolveActionsWithContext(currentSnapshot: AnyMachineSnapshot, event: AnyEventObject, actorScope: AnyActorScope, actions: AnyAction[]): [AnyMachineSnapshot, ExecutableActionObject[]];
|