xstate 5.0.0-beta.23 → 5.0.0-beta.24
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 +1 -1
- package/actions/dist/xstate-actions.development.cjs.js +1 -1
- package/actions/dist/xstate-actions.development.esm.js +1 -1
- package/actions/dist/xstate-actions.esm.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js.map +1 -1
- package/actors/dist/xstate-actors.cjs.js +1 -1
- package/actors/dist/xstate-actors.development.cjs.js +1 -1
- package/actors/dist/xstate-actors.development.esm.js +1 -1
- package/actors/dist/xstate-actors.esm.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/{actions-f6b5002d.development.esm.js → actions-194e6dcc.development.esm.js} +91 -134
- package/dist/{actions-0fcd4d15.development.cjs.js → actions-43f7d40e.development.cjs.js} +90 -134
- package/dist/{actions-e83129c5.cjs.js → actions-6a8cda73.cjs.js} +86 -138
- package/dist/{actions-bf7f6679.esm.js → actions-7b182232.esm.js} +87 -138
- package/dist/declarations/src/Machine.d.ts +1 -1
- package/dist/declarations/src/StateMachine.d.ts +8 -6
- package/dist/declarations/src/StateNode.d.ts +6 -6
- package/dist/declarations/src/actions/choose.d.ts +2 -2
- package/dist/declarations/src/actions/pure.d.ts +3 -2
- package/dist/declarations/src/actions/send.d.ts +1 -1
- package/dist/declarations/src/guards.d.ts +17 -8
- package/dist/declarations/src/stateUtils.d.ts +4 -4
- package/dist/declarations/src/typegenTypes.d.ts +6 -2
- package/dist/declarations/src/types.d.ts +77 -113
- package/dist/declarations/src/utils.d.ts +3 -3
- package/dist/xstate.cjs.js +5 -3
- package/dist/xstate.development.cjs.js +5 -3
- package/dist/xstate.development.esm.js +6 -4
- package/dist/xstate.esm.js +6 -4
- 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 -2
- package/guards/dist/xstate-guards.cjs.mjs +1 -2
- package/guards/dist/xstate-guards.development.cjs.js +1 -2
- package/guards/dist/xstate-guards.development.cjs.mjs +1 -2
- package/guards/dist/xstate-guards.development.esm.js +1 -1
- package/guards/dist/xstate-guards.esm.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { State } from "./State.js";
|
|
2
2
|
import type { StateMachine } from "./StateMachine.js";
|
|
3
|
-
import type { DelayedTransitionDefinition, EventObject, InitialTransitionDefinition, InvokeDefinition, MachineContext, Mapper, StateNodeConfig, StateNodeDefinition, StateNodesConfig, TransitionDefinition, TransitionDefinitionMap, TODO, UnknownAction, ParameterizedObject } from "./types.js";
|
|
3
|
+
import type { DelayedTransitionDefinition, EventObject, InitialTransitionDefinition, InvokeDefinition, MachineContext, Mapper, StateNodeConfig, StateNodeDefinition, StateNodesConfig, TransitionDefinition, TransitionDefinitionMap, TODO, UnknownAction, ParameterizedObject, AnyStateMachine } from "./types.js";
|
|
4
4
|
interface StateNodeOptions<TContext extends MachineContext, TEvent extends EventObject> {
|
|
5
5
|
_key: string;
|
|
6
6
|
_parent?: StateNode<TContext, TEvent>;
|
|
7
|
-
_machine:
|
|
7
|
+
_machine: AnyStateMachine;
|
|
8
8
|
}
|
|
9
9
|
export declare class StateNode<TContext extends MachineContext = MachineContext, TEvent extends EventObject = EventObject> {
|
|
10
10
|
/**
|
|
11
11
|
* The raw config used to create the machine.
|
|
12
12
|
*/
|
|
13
|
-
config: StateNodeConfig<TContext, TEvent, TODO, TODO, TODO>;
|
|
13
|
+
config: StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO>;
|
|
14
14
|
/**
|
|
15
15
|
* The relative key of the state node, which represents its location in the overall state value.
|
|
16
16
|
*/
|
|
@@ -59,7 +59,7 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
59
59
|
/**
|
|
60
60
|
* The root machine node.
|
|
61
61
|
*/
|
|
62
|
-
machine: StateMachine<TContext, TEvent, any, any, TODO, TODO>;
|
|
62
|
+
machine: StateMachine<TContext, TEvent, any, any, TODO, TODO, TODO, TODO>;
|
|
63
63
|
/**
|
|
64
64
|
* The meta data associated with this state node, which will be returned in State instances.
|
|
65
65
|
*/
|
|
@@ -80,7 +80,7 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
80
80
|
/**
|
|
81
81
|
* The raw config used to create the machine.
|
|
82
82
|
*/
|
|
83
|
-
config: StateNodeConfig<TContext, TEvent, TODO, TODO, TODO>, options: StateNodeOptions<TContext, TEvent>);
|
|
83
|
+
config: StateNodeConfig<TContext, TEvent, TODO, TODO, TODO, TODO>, options: StateNodeOptions<TContext, TEvent>);
|
|
84
84
|
_initialize(): void;
|
|
85
85
|
/**
|
|
86
86
|
* The well-structured state node definition.
|
|
@@ -90,7 +90,7 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
90
90
|
/**
|
|
91
91
|
* The logic invoked as actors by this state node.
|
|
92
92
|
*/
|
|
93
|
-
get invoke(): Array<InvokeDefinition<TContext, TEvent, ParameterizedObject>>;
|
|
93
|
+
get invoke(): Array<InvokeDefinition<TContext, TEvent, ParameterizedObject, ParameterizedObject>>;
|
|
94
94
|
/**
|
|
95
95
|
* The mapping of events to transitions.
|
|
96
96
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EventObject, ChooseBranch, MachineContext, ActionArgs, ParameterizedObject } from "../types.js";
|
|
2
|
-
export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, TAction
|
|
1
|
+
import { EventObject, ChooseBranch, MachineContext, ActionArgs, ParameterizedObject, NoInfer } from "../types.js";
|
|
2
|
+
export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, NoInfer<TAction>>>): {
|
|
3
3
|
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
4
4
|
_out_TAction?: TAction | undefined;
|
|
5
5
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject } from "../types.js";
|
|
1
|
+
import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject, NoInfer } from "../types.js";
|
|
2
2
|
export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TAction extends ParameterizedObject = ParameterizedObject>(getActions: ({ context, event }: {
|
|
3
3
|
context: TContext;
|
|
4
4
|
event: TExpressionEvent;
|
|
5
|
-
}) => Actions<TContext, TExpressionEvent, TEvent
|
|
5
|
+
}) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>> | undefined): {
|
|
6
6
|
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
7
7
|
_out_TAction?: TAction | undefined;
|
|
8
|
+
_out_TEvent?: TEvent | undefined;
|
|
8
9
|
};
|
|
@@ -29,7 +29,7 @@ export declare function sendTo<TContext extends MachineContext, TExpressionEvent
|
|
|
29
29
|
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
30
30
|
type: string;
|
|
31
31
|
to: string | TActor | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => TActor | string);
|
|
32
|
-
event: ((TActor extends import("../types.js").AnyFunction ? ReturnType<TActor> : TActor) extends infer R ? R extends import("../StateMachine.js").StateMachine<infer _TContext extends MachineContext, infer TEvent extends EventObject, infer
|
|
32
|
+
event: ((TActor extends import("../types.js").AnyFunction ? ReturnType<TActor> : TActor) extends infer R ? R extends import("../StateMachine.js").StateMachine<infer _TContext extends MachineContext, infer TEvent extends EventObject, infer _TActor extends import("../types.js").ProvidedActor, infer _TAction extends ParameterizedObject, infer _TGuard extends ParameterizedObject, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends import("../State.js").State<infer _TContext_1 extends MachineContext, infer TEvent_1 extends EventObject, infer _TActor_1 extends import("../types.js").ProvidedActor, infer _TOutput_1, infer _TResolvedTypesMeta_1> ? TEvent_1 : R extends ActorRef<infer TEvent_2 extends EventObject, infer _> ? TEvent_2 : never : never) | SendExpr<TContext, TExpressionEvent, TExpressionAction, InferEvent<Cast<(TActor extends import("../types.js").AnyFunction ? ReturnType<TActor> : TActor) extends infer R ? R extends import("../StateMachine.js").StateMachine<infer _TContext extends MachineContext, infer TEvent extends EventObject, infer _TActor extends import("../types.js").ProvidedActor, infer _TAction extends ParameterizedObject, infer _TGuard extends ParameterizedObject, infer _TInput, infer _TOutput, infer _TResolvedTypesMeta> ? TEvent : R extends import("../State.js").State<infer _TContext_1 extends MachineContext, infer TEvent_1 extends EventObject, infer _TActor_1 extends import("../types.js").ProvidedActor, infer _TOutput_1, infer _TResolvedTypesMeta_1> ? TEvent_1 : R extends ActorRef<infer TEvent_2 extends EventObject, infer _> ? TEvent_2 : never : never, EventObject>>>;
|
|
33
33
|
id: string | undefined;
|
|
34
34
|
delay: string | number | DelayExpr<TContext, TExpressionEvent, TExpressionAction> | undefined;
|
|
35
35
|
resolve: typeof resolve;
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import type { EventObject, StateValue,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import type { EventObject, StateValue, MachineContext, ParameterizedObject, AnyState, NoRequiredParams, NoInfer } from "./types.js";
|
|
2
|
+
export type GuardPredicate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject> = {
|
|
3
|
+
(args: GuardArgs<TContext, TExpressionEvent, TExpressionGuard>): boolean;
|
|
4
|
+
_out_TGuard?: TGuard;
|
|
5
|
+
};
|
|
6
|
+
export interface GuardArgs<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined> {
|
|
7
|
+
context: TContext;
|
|
8
|
+
event: TExpressionEvent;
|
|
9
|
+
guard: TExpressionGuard;
|
|
10
|
+
}
|
|
11
|
+
export type Guard<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject> = NoRequiredParams<TGuard> | TGuard | GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
|
|
12
|
+
export type UnknownGuard = Guard<MachineContext, EventObject, ParameterizedObject | undefined, ParameterizedObject>;
|
|
13
|
+
export declare function stateIn<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined>(stateValue: StateValue): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, any>;
|
|
14
|
+
export declare function not<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject>(guard: Guard<TContext, TExpressionEvent, TExpressionGuard, NoInfer<TGuard>>): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
|
|
15
|
+
export declare function and<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject>(guards: ReadonlyArray<Guard<TContext, TExpressionEvent, TExpressionGuard, NoInfer<TGuard>>>): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
|
|
16
|
+
export declare function or<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject>(guards: ReadonlyArray<Guard<TContext, TExpressionEvent, TExpressionGuard, NoInfer<TGuard>>>): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
|
|
17
|
+
export declare function evaluateGuard<TContext extends MachineContext, TExpressionEvent extends EventObject>(guard: UnknownGuard, context: TContext, event: TExpressionEvent, state: AnyState): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { State } from "./State.js";
|
|
2
2
|
import type { StateNode } from "./StateNode.js";
|
|
3
|
-
import { AnyActorContext, AnyHistoryValue, AnyState, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, EventObject, InitialTransitionConfig, InitialTransitionDefinition, MachineContext, SingleOrArray, StateValue, StateValueMap,
|
|
3
|
+
import { AnyActorContext, AnyHistoryValue, AnyState, AnyStateNode, AnyTransitionDefinition, DelayedTransitionDefinition, EventObject, InitialTransitionConfig, InitialTransitionDefinition, MachineContext, SingleOrArray, StateValue, StateValueMap, TransitionDefinition, TODO, UnknownAction, AnyTransitionConfig } from "./types.js";
|
|
4
4
|
type Configuration<TContext extends MachineContext, TE extends EventObject> = Iterable<StateNode<TContext, TE>>;
|
|
5
5
|
type AnyConfiguration = Configuration<any, any>;
|
|
6
6
|
type AdjList = Map<AnyStateNode, Array<AnyStateNode>>;
|
|
@@ -15,9 +15,9 @@ export declare function getCandidates<TEvent extends EventObject>(stateNode: Sta
|
|
|
15
15
|
* All delayed transitions from the config.
|
|
16
16
|
*/
|
|
17
17
|
export declare function getDelayedTransitions(stateNode: AnyStateNode): Array<DelayedTransitionDefinition<MachineContext, EventObject>>;
|
|
18
|
-
export declare function formatTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, descriptor: string, transitionConfig:
|
|
18
|
+
export declare function formatTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, descriptor: string, transitionConfig: AnyTransitionConfig): AnyTransitionDefinition;
|
|
19
19
|
export declare function formatTransitions<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode): Map<string, TransitionDefinition<TContext, TEvent>[]>;
|
|
20
|
-
export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: SingleOrArray<string> | InitialTransitionConfig<TContext, TEvent, TODO>): InitialTransitionDefinition<TContext, TEvent>;
|
|
20
|
+
export declare function formatInitialTransition<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, _target: SingleOrArray<string> | InitialTransitionConfig<TContext, TEvent, TODO, TODO>): InitialTransitionDefinition<TContext, TEvent>;
|
|
21
21
|
export declare function resolveTarget(stateNode: AnyStateNode, targets: ReadonlyArray<string | AnyStateNode> | undefined): ReadonlyArray<AnyStateNode> | undefined;
|
|
22
22
|
export declare function getInitialStateNodes(stateNode: AnyStateNode): Array<AnyStateNode>;
|
|
23
23
|
/**
|
|
@@ -50,7 +50,7 @@ export declare function removeConflictingTransitions(enabledTransitions: Array<A
|
|
|
50
50
|
* @param mutConfiguration
|
|
51
51
|
*/
|
|
52
52
|
export declare function microstep<TContext extends MachineContext, TEvent extends EventObject>(transitions: Array<TransitionDefinition<TContext, TEvent>>, currentState: AnyState, actorCtx: AnyActorContext, event: TEvent, isInitial: boolean): AnyState;
|
|
53
|
-
export declare function resolveActionsAndContext<TContext extends MachineContext,
|
|
53
|
+
export declare function resolveActionsAndContext<TContext extends MachineContext, TExpressionEvent extends EventObject>(actions: UnknownAction[], event: TExpressionEvent, currentState: AnyState, actorCtx: AnyActorContext): AnyState;
|
|
54
54
|
export declare function macrostep(state: AnyState, event: EventObject, actorCtx: AnyActorContext): {
|
|
55
55
|
state: typeof state;
|
|
56
56
|
microstates: Array<typeof state>;
|
|
@@ -80,6 +80,7 @@ export interface ResolvedTypegenMeta extends TypegenMeta {
|
|
|
80
80
|
indexedActors: Record<string, ProvidedActor>;
|
|
81
81
|
indexedActions: Record<string, ParameterizedObject>;
|
|
82
82
|
indexedEvents: Record<string, EventObject>;
|
|
83
|
+
indexedGuards: Record<string, ParameterizedObject>;
|
|
83
84
|
};
|
|
84
85
|
}
|
|
85
86
|
export type TypegenConstraint = TypegenEnabled | TypegenDisabled;
|
|
@@ -115,20 +116,23 @@ type AllowAllEvents = {
|
|
|
115
116
|
eventsCausingDelays: Record<string, string>;
|
|
116
117
|
eventsCausingGuards: Record<string, string>;
|
|
117
118
|
};
|
|
118
|
-
|
|
119
|
+
type IndexParametrizedImplementation<TParametrizedImplementation extends ParameterizedObject, TCausingLookup> = string extends TParametrizedImplementation['type'] ? IsNever<TCausingLookup> extends true ? never : Record<keyof TCausingLookup, ParameterizedObject> : IndexByType<TParametrizedImplementation>;
|
|
120
|
+
export interface ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject> {
|
|
119
121
|
'@@xstate/typegen': TTypesMeta['@@xstate/typegen'];
|
|
120
122
|
resolved: {
|
|
121
123
|
enabled: TTypesMeta & {
|
|
122
|
-
indexedActions:
|
|
124
|
+
indexedActions: IndexParametrizedImplementation<TAction, Prop<TTypesMeta, 'eventsCausingActions'>>;
|
|
123
125
|
indexedActors: string extends TActor['src'] ? Record<keyof Prop<TTypesMeta, 'eventsCausingActors'>, {
|
|
124
126
|
logic: AnyActorLogic;
|
|
125
127
|
}> : IndexByProp<TActor, 'src'>;
|
|
126
128
|
indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent['type'] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, 'invokeSrcNameMap'>>>, Prop<TTypesMeta, 'internalEvents'>>;
|
|
129
|
+
indexedGuards: IndexParametrizedImplementation<TGuard, Prop<TTypesMeta, 'eventsCausingGuards'>>;
|
|
127
130
|
};
|
|
128
131
|
disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & {
|
|
129
132
|
indexedActions: IndexByType<TAction>;
|
|
130
133
|
indexedActors: IndexByProp<TActor, 'src'>;
|
|
131
134
|
indexedEvents: Record<string, TEvent>;
|
|
135
|
+
indexedGuards: IndexByType<TGuard>;
|
|
132
136
|
invokeSrcNameMap: Record<string, string>;
|
|
133
137
|
};
|
|
134
138
|
}[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta extends TypegenEnabled ? 'enabled' : 'disabled'];
|