xstate 5.0.0-beta.25 → 5.0.0-beta.27
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 +20 -18
- package/actions/dist/xstate-actions.cjs.mjs +2 -0
- package/actions/dist/xstate-actions.development.cjs.js +20 -18
- package/actions/dist/xstate-actions.development.cjs.mjs +2 -0
- 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 +37 -14
- package/actors/dist/xstate-actors.cjs.mjs +0 -5
- package/actors/dist/xstate-actors.development.cjs.js +37 -14
- package/actors/dist/xstate-actors.development.cjs.mjs +0 -5
- package/actors/dist/xstate-actors.development.esm.js +34 -1
- package/actors/dist/xstate-actors.esm.js +34 -1
- package/actors/dist/xstate-actors.umd.min.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/{actions-5943a9db.esm.js → actions-020463e9.esm.js} +76 -532
- package/dist/{actions-cf69419d.development.esm.js → actions-9754d2ca.development.esm.js} +76 -532
- package/dist/{actions-0971b43d.development.cjs.js → actions-ca622922.development.cjs.js} +81 -546
- package/dist/{actions-319cefe7.cjs.js → actions-d1dba4ac.cjs.js} +81 -546
- package/dist/declarations/src/Machine.d.ts +4 -3
- package/dist/declarations/src/State.d.ts +3 -3
- package/dist/declarations/src/StateNode.d.ts +0 -9
- package/dist/declarations/src/actions/assign.d.ts +6 -11
- package/dist/declarations/src/actions/cancel.d.ts +5 -12
- package/dist/declarations/src/actions/choose.d.ts +7 -6
- package/dist/declarations/src/actions/log.d.ts +5 -20
- package/dist/declarations/src/actions/pure.d.ts +9 -8
- package/dist/declarations/src/actions/raise.d.ts +6 -5
- package/dist/declarations/src/actions/send.d.ts +7 -12
- package/dist/declarations/src/actions/stop.d.ts +5 -12
- package/dist/declarations/src/actions.d.ts +2 -0
- package/dist/declarations/src/actors/index.d.ts +0 -20
- package/dist/declarations/src/actors/promise.d.ts +2 -1
- package/dist/declarations/src/constants.d.ts +7 -0
- package/dist/declarations/src/guards.d.ts +2 -2
- package/dist/declarations/src/index.d.ts +14 -14
- package/dist/declarations/src/typegenTypes.d.ts +1 -1
- package/dist/declarations/src/types.d.ts +18 -22
- package/dist/declarations/src/utils.d.ts +1 -2
- package/dist/promise-2ad94e3b.development.esm.js +406 -0
- package/dist/promise-3b7e3357.development.cjs.js +412 -0
- package/dist/promise-5b07c38e.esm.js +406 -0
- package/dist/promise-7a8c1768.cjs.js +412 -0
- package/dist/xstate.cjs.js +78 -102
- package/dist/xstate.development.cjs.js +78 -102
- package/dist/xstate.development.esm.js +6 -30
- package/dist/xstate.esm.js +6 -30
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/guards/dist/xstate-guards.cjs.js +6 -6
- package/guards/dist/xstate-guards.development.cjs.js +6 -6
- 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,4 +1,5 @@
|
|
|
1
|
-
import { MachineConfig,
|
|
2
|
-
import { TypegenConstraint,
|
|
1
|
+
import { MachineConfig, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, NonReducibleUnknown, Prop, AnyEventObject } from "./types.js";
|
|
2
|
+
import { TypegenConstraint, ResolveTypegenMeta } from "./typegenTypes.js";
|
|
3
3
|
import { StateMachine } from "./StateMachine.js";
|
|
4
|
-
export declare function createMachine<TContext extends MachineContext, TEvent extends
|
|
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>(config: MachineConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TTypesMeta>, implementations?: InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, 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>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { StateNode } from "./StateNode.js";
|
|
2
2
|
import { TypegenDisabled, TypegenEnabled } from "./typegenTypes.js";
|
|
3
|
-
import type { ProvidedActor, ActorRefFrom, AnyState, AnyStateMachine, EventObject, HistoryValue, MachineContext, PersistedMachineState, Prop, StateConfig, StateValue, TODO, AnyActorRef, Compute } from "./types.js";
|
|
3
|
+
import type { ProvidedActor, ActorRefFrom, AnyState, AnyStateMachine, EventObject, HistoryValue, MachineContext, PersistedMachineState, Prop, StateConfig, StateValue, TODO, AnyActorRef, Compute, EventDescriptor } from "./types.js";
|
|
4
4
|
type ComputeConcreteChildren<TActor extends ProvidedActor> = {
|
|
5
5
|
[A in TActor as 'id' extends keyof A ? A['id'] & string : never]?: ActorRefFrom<A['logic']>;
|
|
6
6
|
};
|
|
@@ -58,7 +58,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
|
|
|
58
58
|
* @param delimiter The character(s) that separate each subpath in the string state node path.
|
|
59
59
|
*/
|
|
60
60
|
toStrings(stateValue?: StateValue): string[];
|
|
61
|
-
toJSON(): Omit<this, "
|
|
61
|
+
toJSON(): Omit<this, "toJSON" | "meta" | "tags" | "configuration" | "machine" | "toStrings" | "matches" | "hasTag" | "can" | "nextEvents"> & {
|
|
62
62
|
tags: string[];
|
|
63
63
|
meta: Record<string, any>;
|
|
64
64
|
};
|
|
@@ -84,7 +84,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
|
|
|
84
84
|
/**
|
|
85
85
|
* The next events that will cause a transition from the current state.
|
|
86
86
|
*/
|
|
87
|
-
get nextEvents(): Array<
|
|
87
|
+
get nextEvents(): Array<EventDescriptor<TEvent>>;
|
|
88
88
|
get meta(): Record<string, any>;
|
|
89
89
|
}
|
|
90
90
|
export declare function cloneState<TState extends AnyState>(state: TState, config?: Partial<StateConfig<any, any>>): TState;
|
|
@@ -114,15 +114,6 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
114
114
|
get after(): Array<DelayedTransitionDefinition<TContext, TEvent>>;
|
|
115
115
|
get initial(): InitialTransitionDefinition<TContext, TEvent>;
|
|
116
116
|
next(state: State<TContext, TEvent, TODO, TODO, TODO, TODO>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
|
|
117
|
-
/**
|
|
118
|
-
* The target state value of the history state node, if it exists. This represents the
|
|
119
|
-
* default state value to transition to if no history value exists yet.
|
|
120
|
-
*/
|
|
121
|
-
get target(): string | undefined;
|
|
122
|
-
/**
|
|
123
|
-
* All the state node IDs of this state node and its descendant state nodes.
|
|
124
|
-
*/
|
|
125
|
-
get stateIds(): string[];
|
|
126
117
|
/**
|
|
127
118
|
* All the event types accepted by this state node and its descendants.
|
|
128
119
|
*/
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import type { ActionArgs,
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
import type { ActionArgs, AnyEventObject, Assigner, EventObject, LowInfer, MachineContext, ParameterizedObject, PropertyAssigner } from "../types.js";
|
|
2
|
+
export interface AssignAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
|
|
3
|
+
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
4
|
+
}
|
|
5
5
|
/**
|
|
6
6
|
* Updates the current context of the machine.
|
|
7
7
|
*
|
|
8
8
|
* @param assignment An object that represents the partial context to update.
|
|
9
9
|
*/
|
|
10
|
-
export declare function assign<TContext extends MachineContext, TExpressionEvent extends
|
|
11
|
-
|
|
12
|
-
type: string;
|
|
13
|
-
assignment: Assigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction>;
|
|
14
|
-
resolve: typeof resolve;
|
|
15
|
-
};
|
|
16
|
-
export {};
|
|
10
|
+
export declare function assign<TContext extends MachineContext, TExpressionEvent extends AnyEventObject = AnyEventObject, // TODO: consider using a stricter `EventObject` here
|
|
11
|
+
TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined>(assignment: Assigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction> | PropertyAssigner<LowInfer<TContext>, TExpressionEvent, TExpressionAction>): AssignAction<TContext, TExpressionEvent, TExpressionAction>;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EventObject, MachineContext, ActionArgs, ParameterizedObject } from "../types.js";
|
|
2
2
|
type ResolvableSendId<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = string | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => string);
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
declare function execute(actorContext: AnyActorContext, resolvedSendId: string): void;
|
|
3
|
+
export interface CancelAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
|
|
4
|
+
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
5
|
+
}
|
|
7
6
|
/**
|
|
8
7
|
* Cancels an in-flight `send(...)` action. A canceled sent action will not
|
|
9
8
|
* be executed, nor will its event be sent, unless it has already been sent
|
|
@@ -11,11 +10,5 @@ declare function execute(actorContext: AnyActorContext, resolvedSendId: string):
|
|
|
11
10
|
*
|
|
12
11
|
* @param sendId The `id` of the `send(...)` action to cancel.
|
|
13
12
|
*/
|
|
14
|
-
export declare function cancel<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(sendId: ResolvableSendId<TContext, TExpressionEvent, TExpressionAction>):
|
|
15
|
-
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
16
|
-
type: string;
|
|
17
|
-
sendId: ResolvableSendId<TContext, TExpressionEvent, TExpressionAction>;
|
|
18
|
-
resolve: typeof resolve;
|
|
19
|
-
execute: typeof execute;
|
|
20
|
-
};
|
|
13
|
+
export declare function cancel<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(sendId: ResolvableSendId<TContext, TExpressionEvent, TExpressionAction>): CancelAction<TContext, TExpressionEvent, TExpressionAction>;
|
|
21
14
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { EventObject, ChooseBranch, MachineContext, ActionArgs, ParameterizedObject, NoInfer } from "../types.js";
|
|
2
|
-
export
|
|
3
|
-
(
|
|
4
|
-
_out_TAction?: TAction
|
|
5
|
-
_out_TGuard?: TGuard
|
|
6
|
-
_out_TDelay?: TDelay
|
|
7
|
-
}
|
|
2
|
+
export interface ChooseAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
3
|
+
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
4
|
+
_out_TAction?: TAction;
|
|
5
|
+
_out_TGuard?: TGuard;
|
|
6
|
+
_out_TDelay?: TDelay;
|
|
7
|
+
}
|
|
8
|
+
export declare function choose<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string>(branches: ReadonlyArray<ChooseBranch<TContext, TExpressionEvent, TEvent, NoInfer<TAction>, NoInfer<TGuard>, TDelay>>): ChooseAction<TContext, TExpressionEvent, TExpressionAction, TAction, TGuard, TDelay>;
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
import { ActionArgs,
|
|
1
|
+
import { ActionArgs, EventObject, LogExpr, MachineContext, ParameterizedObject } from "../types.js";
|
|
2
2
|
type ResolvableLogValue<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = string | LogExpr<TContext, TExpressionEvent, TExpressionAction>;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}): (AnyState | {
|
|
7
|
-
value: unknown;
|
|
8
|
-
label: string | undefined;
|
|
9
|
-
})[];
|
|
10
|
-
declare function execute({ logger }: AnyActorContext, { value, label }: {
|
|
11
|
-
value: unknown;
|
|
12
|
-
label: string | undefined;
|
|
13
|
-
}): void;
|
|
3
|
+
export interface LogAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
|
|
4
|
+
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
5
|
+
}
|
|
14
6
|
/**
|
|
15
7
|
*
|
|
16
8
|
* @param expr The expression function to evaluate which will be logged.
|
|
@@ -19,12 +11,5 @@ declare function execute({ logger }: AnyActorContext, { value, label }: {
|
|
|
19
11
|
* - `event` - the event that caused this action to be executed.
|
|
20
12
|
* @param label The label to give to the logged expression.
|
|
21
13
|
*/
|
|
22
|
-
export declare function log<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(value?: ResolvableLogValue<TContext, TExpressionEvent, TExpressionAction>, label?: string):
|
|
23
|
-
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
24
|
-
type: string;
|
|
25
|
-
value: ResolvableLogValue<TContext, TExpressionEvent, TExpressionAction>;
|
|
26
|
-
label: string | undefined;
|
|
27
|
-
resolve: typeof resolve;
|
|
28
|
-
execute: typeof execute;
|
|
29
|
-
};
|
|
14
|
+
export declare function log<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(value?: ResolvableLogValue<TContext, TExpressionEvent, TExpressionAction>, label?: string): LogAction<TContext, TExpressionEvent, TExpressionAction>;
|
|
30
15
|
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject, NoInfer } from "../types.js";
|
|
2
|
-
export
|
|
2
|
+
export interface PureAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
3
|
+
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
4
|
+
_out_TEvent?: TEvent;
|
|
5
|
+
_out_TAction?: TAction;
|
|
6
|
+
_out_TGuard?: TGuard;
|
|
7
|
+
_out_TDelay?: TDelay;
|
|
8
|
+
}
|
|
9
|
+
export declare function pure<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TEvent extends EventObject = TExpressionEvent, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string>(getActions: ({ context, event }: {
|
|
3
10
|
context: TContext;
|
|
4
11
|
event: TExpressionEvent;
|
|
5
|
-
}) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined):
|
|
6
|
-
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
7
|
-
_out_TEvent?: TEvent | undefined;
|
|
8
|
-
_out_TAction?: TAction | undefined;
|
|
9
|
-
_out_TGuard?: TGuard | undefined;
|
|
10
|
-
_out_TDelay?: TDelay | undefined;
|
|
11
|
-
};
|
|
12
|
+
}) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined): PureAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TAction, TGuard, TDelay>;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { ActionArgs, EventObject, MachineContext, NoInfer, RaiseActionOptions, SendExpr, ParameterizedObject } from "../types.js";
|
|
2
|
+
export interface RaiseAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TEvent extends EventObject, TDelay extends string> {
|
|
3
|
+
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
4
|
+
_out_TEvent?: TEvent;
|
|
5
|
+
_out_TDelay?: TDelay;
|
|
6
|
+
}
|
|
2
7
|
/**
|
|
3
8
|
* Raises an event. This places the event in the internal event queue, so that
|
|
4
9
|
* the event is immediately consumed by the machine in the current step.
|
|
5
10
|
*
|
|
6
11
|
* @param eventType The event to raise.
|
|
7
12
|
*/
|
|
8
|
-
export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TDelay extends string = string>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TDelay>>):
|
|
9
|
-
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
10
|
-
_out_TEvent?: TEvent | undefined;
|
|
11
|
-
_out_TDelay?: TDelay | undefined;
|
|
12
|
-
};
|
|
13
|
+
export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined, TDelay extends string = string>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TDelay>>): RaiseAction<TContext, TExpressionEvent, TExpressionAction, TEvent, TDelay>;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { ActionArgs, ActorRef, AnyActorRef, AnyEventObject, Cast, EventFrom, EventObject, InferEvent, MachineContext, SendExpr, SendToActionOptions, SendToActionParams, UnifiedArg, ParameterizedObject, NoInfer } from "../types.js";
|
|
2
|
+
export interface SendToAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TDelay extends string> {
|
|
3
|
+
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
4
|
+
_out_TDelay?: TDelay;
|
|
5
|
+
}
|
|
2
6
|
/**
|
|
3
7
|
* Sends an event to an actor.
|
|
4
8
|
*
|
|
@@ -8,20 +12,14 @@ import { ActionArgs, ActorRef, AnyActorRef, AnyEventObject, Cast, EventFrom, Eve
|
|
|
8
12
|
* - `id` - The unique send event identifier (used with `cancel()`).
|
|
9
13
|
* - `delay` - The number of milliseconds to delay the sending of the event.
|
|
10
14
|
*/
|
|
11
|
-
export declare function sendTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends AnyActorRef, TDelay extends string>(to: TActor | string | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => TActor | string), eventOrExpr: EventFrom<TActor> | SendExpr<TContext, TExpressionEvent, TExpressionAction, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TDelay>>):
|
|
12
|
-
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
13
|
-
_out_TDelay?: TDelay | undefined;
|
|
14
|
-
};
|
|
15
|
+
export declare function sendTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends AnyActorRef, TDelay extends string>(to: TActor | string | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => TActor | string), eventOrExpr: EventFrom<TActor> | SendExpr<TContext, TExpressionEvent, TExpressionAction, InferEvent<Cast<EventFrom<TActor>, EventObject>>>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, NoInfer<TDelay>>): SendToAction<TContext, TExpressionEvent, TExpressionAction, TDelay>;
|
|
15
16
|
/**
|
|
16
17
|
* Sends an event to this machine's parent.
|
|
17
18
|
*
|
|
18
19
|
* @param event The event to send to the parent machine.
|
|
19
20
|
* @param options Options to pass into the send event.
|
|
20
21
|
*/
|
|
21
|
-
export declare function sendParent<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject = AnyEventObject, TDelay extends string = string>(event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay>):
|
|
22
|
-
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
23
|
-
_out_TDelay?: TDelay | undefined;
|
|
24
|
-
};
|
|
22
|
+
export declare function sendParent<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject = AnyEventObject, TDelay extends string = string>(event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay>): SendToAction<TContext, TExpressionEvent, TExpressionAction, TDelay>;
|
|
25
23
|
type Target<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = string | ActorRef<any, any> | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => string | ActorRef<any, any>);
|
|
26
24
|
/**
|
|
27
25
|
* Forwards (sends) an event to a specified service.
|
|
@@ -37,8 +35,5 @@ export declare function forwardTo<TContext extends MachineContext, TExpressionEv
|
|
|
37
35
|
* takes in the `context`, `event`, and `meta`, and returns the error data to send.
|
|
38
36
|
* @param options Options to pass into the send action creator.
|
|
39
37
|
*/
|
|
40
|
-
export declare function escalate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TErrorData = any>(errorData: TErrorData | ((args: UnifiedArg<TContext, TExpressionEvent>) => TErrorData), options?: SendToActionParams<TContext, TExpressionEvent, TExpressionAction, EventObject, string>):
|
|
41
|
-
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
42
|
-
_out_TDelay?: string | undefined;
|
|
43
|
-
};
|
|
38
|
+
export declare function escalate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TErrorData = any>(errorData: TErrorData | ((args: UnifiedArg<TContext, TExpressionEvent>) => TErrorData), options?: SendToActionParams<TContext, TExpressionEvent, TExpressionAction, EventObject, string>): SendToAction<TContext, TExpressionEvent, TExpressionAction, string>;
|
|
44
39
|
export {};
|
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
import { ActionArgs, ActorRef,
|
|
1
|
+
import { ActionArgs, ActorRef, EventObject, MachineContext, ParameterizedObject } from "../types.js";
|
|
2
2
|
type ResolvableActorRef<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> = string | ActorRef<any> | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => ActorRef<any> | string);
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
declare function execute(actorContext: AnyActorContext, actorRef: ActorRef<any, any> | undefined): void;
|
|
3
|
+
export interface StopAction<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined> {
|
|
4
|
+
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
5
|
+
}
|
|
7
6
|
/**
|
|
8
7
|
* Stops an actor.
|
|
9
8
|
*
|
|
10
9
|
* @param actorRef The actor to stop.
|
|
11
10
|
*/
|
|
12
|
-
export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction>):
|
|
13
|
-
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
14
|
-
type: string;
|
|
15
|
-
actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction>;
|
|
16
|
-
resolve: typeof resolve;
|
|
17
|
-
execute: typeof execute;
|
|
18
|
-
};
|
|
11
|
+
export declare function stop<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(actorRef: ResolvableActorRef<TContext, TExpressionEvent, TExpressionAction>): StopAction<TContext, TExpressionEvent, TExpressionAction>;
|
|
19
12
|
export {};
|
|
@@ -25,6 +25,7 @@ export declare function after(delayRef: number | string, id?: string): string;
|
|
|
25
25
|
* @param output The data to pass into the event
|
|
26
26
|
*/
|
|
27
27
|
export declare function done(id: string, output?: any): DoneEventObject;
|
|
28
|
+
export declare function doneInvokeEventType<T extends string = string>(invokeId: T): `done.invoke.${T}`;
|
|
28
29
|
/**
|
|
29
30
|
* Returns an event that represents that an invoked service has terminated.
|
|
30
31
|
*
|
|
@@ -35,6 +36,7 @@ export declare function done(id: string, output?: any): DoneEventObject;
|
|
|
35
36
|
* @param output The data to pass into the event
|
|
36
37
|
*/
|
|
37
38
|
export declare function doneInvoke(invokeId: string, output?: any): DoneEvent;
|
|
39
|
+
export declare function errorEventType<T extends string = string>(id: T): `error.platform.${T}`;
|
|
38
40
|
export declare function error(id: string, data?: any): ErrorPlatformEvent & string;
|
|
39
41
|
export declare function createInitEvent(input: unknown): {
|
|
40
42
|
readonly type: "xstate.init";
|
|
@@ -3,26 +3,6 @@ export { fromCallback, type CallbackActorLogic } from "./callback.js";
|
|
|
3
3
|
export { fromEventObservable, fromObservable } from "./observable.js";
|
|
4
4
|
export { fromPromise, type PromiseActorLogic } from "./promise.js";
|
|
5
5
|
export { fromTransition } from "./transition.js";
|
|
6
|
-
export declare const startSignalType = "xstate.init";
|
|
7
|
-
export declare const stopSignalType = "xstate.stop";
|
|
8
|
-
export declare const startSignal: StartSignal;
|
|
9
|
-
export declare const stopSignal: StopSignal;
|
|
10
|
-
export interface StartSignal {
|
|
11
|
-
type: 'xstate.init';
|
|
12
|
-
}
|
|
13
|
-
export interface StopSignal {
|
|
14
|
-
type: 'xstate.stop';
|
|
15
|
-
}
|
|
16
|
-
export type LifecycleSignal = StartSignal | StopSignal;
|
|
17
|
-
export type LifecycleSignalType = typeof startSignalType | typeof stopSignalType;
|
|
18
|
-
/**
|
|
19
|
-
* An object that expresses the actor logic in reaction to received events,
|
|
20
|
-
* as well as an optionally emitted stream of values.
|
|
21
|
-
*
|
|
22
|
-
* @template TReceived The received event
|
|
23
|
-
* @template TSnapshot The emitted value
|
|
24
|
-
*/
|
|
25
|
-
export declare function isSignal(event: EventObject): event is LifecycleSignal;
|
|
26
6
|
export declare function isActorRef(item: any): item is ActorRef<any>;
|
|
27
7
|
export declare function toActorRef<TEvent extends EventObject, TSnapshot = any, TActorRefLike extends BaseActorRef<TEvent> = BaseActorRef<TEvent>>(actorRefLike: TActorRefLike): ActorRef<TEvent, TSnapshot> & Omit<TActorRefLike, keyof ActorRef<any, any>>;
|
|
28
8
|
export declare function createEmptyActor(): ActorRef<AnyEventObject, undefined>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ActorLogic, ActorRefFrom, ActorSystem, AnyActorSystem } from "../types.js";
|
|
2
|
+
import { XSTATE_STOP } from "../constants.js";
|
|
2
3
|
export interface PromiseInternalState<T, TInput = unknown> {
|
|
3
4
|
status: 'active' | 'error' | 'done' | 'canceled';
|
|
4
5
|
data: T | undefined;
|
|
@@ -13,7 +14,7 @@ export type PromiseActorEvents<T> = {
|
|
|
13
14
|
type: typeof rejectEventType;
|
|
14
15
|
data: any;
|
|
15
16
|
} | {
|
|
16
|
-
type:
|
|
17
|
+
type: typeof XSTATE_STOP;
|
|
17
18
|
};
|
|
18
19
|
export type PromiseActorLogic<T, TInput = unknown> = ActorLogic<{
|
|
19
20
|
type: string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const STATE_DELIMITER = ".";
|
|
2
|
+
export declare const TARGETLESS_KEY = "";
|
|
3
|
+
export declare const NULL_EVENT = "";
|
|
4
|
+
export declare const STATE_IDENTIFIER = "#";
|
|
5
|
+
export declare const WILDCARD = "*";
|
|
6
|
+
export declare const XSTATE_INIT = "xstate.init";
|
|
7
|
+
export declare const XSTATE_STOP = "xstate.stop";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EventObject, StateValue, MachineContext, ParameterizedObject, AnyState, NoRequiredParams, NoInfer } from "./types.js";
|
|
1
|
+
import type { EventObject, StateValue, MachineContext, ParameterizedObject, AnyState, NoRequiredParams, NoInfer, WithDynamicParams } from "./types.js";
|
|
2
2
|
export type GuardPredicate<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject> = {
|
|
3
3
|
(args: GuardArgs<TContext, TExpressionEvent, TExpressionGuard>): boolean;
|
|
4
4
|
_out_TGuard?: TGuard;
|
|
@@ -8,7 +8,7 @@ export interface GuardArgs<TContext extends MachineContext, TExpressionEvent ext
|
|
|
8
8
|
event: TExpressionEvent;
|
|
9
9
|
guard: TExpressionGuard;
|
|
10
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>;
|
|
11
|
+
export type Guard<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined, TGuard extends ParameterizedObject> = NoRequiredParams<TGuard> | WithDynamicParams<TContext, TExpressionEvent, TGuard> | GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, TGuard>;
|
|
12
12
|
export type UnknownGuard = UnknownReferencedGuard | UnknownInlineGuard;
|
|
13
13
|
type UnknownReferencedGuard = Guard<MachineContext, EventObject, ParameterizedObject, ParameterizedObject>;
|
|
14
14
|
type UnknownInlineGuard = Guard<MachineContext, EventObject, undefined, ParameterizedObject>;
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { doneInvoke
|
|
2
|
-
|
|
3
|
-
export { cancel } from "./actions/cancel.js";
|
|
4
|
-
export { choose } from "./actions/choose.js";
|
|
5
|
-
export { log } from "./actions/log.js";
|
|
6
|
-
export { pure } from "./actions/pure.js";
|
|
7
|
-
export { raise } from "./actions/raise.js";
|
|
8
|
-
export { stop } from "./actions/stop.js";
|
|
9
|
-
import { createActor, interpret, Actor, ActorStatus, InterpreterStatus, Interpreter } from "./interpreter.js";
|
|
1
|
+
import { doneInvoke } from "./actions.js";
|
|
2
|
+
import { Actor, ActorStatus, createActor, interpret, Interpreter, InterpreterStatus } from "./interpreter.js";
|
|
10
3
|
import { createMachine } from "./Machine.js";
|
|
11
4
|
import { mapState } from "./mapState.js";
|
|
12
5
|
import { State } from "./State.js";
|
|
13
6
|
import { StateNode } from "./StateNode.js";
|
|
7
|
+
export { assign, type AssignAction } from "./actions/assign.js";
|
|
8
|
+
export { cancel, type CancelAction } from "./actions/cancel.js";
|
|
9
|
+
export { choose, type ChooseAction } from "./actions/choose.js";
|
|
10
|
+
export { log, type LogAction } from "./actions/log.js";
|
|
11
|
+
export { pure, type PureAction } from "./actions/pure.js";
|
|
12
|
+
export { raise, type RaiseAction } from "./actions/raise.js";
|
|
13
|
+
export { forwardTo, sendParent, sendTo, type SendToAction } from "./actions/send.js";
|
|
14
|
+
export { stop, type StopAction } from "./actions/stop.js";
|
|
14
15
|
export { SimulatedClock } from "./SimulatedClock.js";
|
|
15
16
|
export { StateMachine } from "./StateMachine.js";
|
|
16
17
|
export { getStateNodes } from "./stateUtils.js";
|
|
17
|
-
export { waitFor } from "./waitFor.js";
|
|
18
18
|
export * from "./typegenTypes.js";
|
|
19
19
|
export * from "./types.js";
|
|
20
|
+
export { waitFor } from "./waitFor.js";
|
|
21
|
+
export { fromCallback, fromEventObservable, fromObservable, fromPromise, fromTransition } from "./actors/index.js";
|
|
20
22
|
export { matchesState, pathToStateValue, toObserver } from "./utils.js";
|
|
21
|
-
export {
|
|
22
|
-
|
|
23
|
-
export { fromPromise, fromObservable, fromCallback, fromEventObservable, fromTransition } from "./actors/index.js";
|
|
24
|
-
export { stateIn, not, and, or } from "./guards.js";
|
|
23
|
+
export { Actor, ActorStatus, createActor, createMachine, doneInvoke, interpret, InterpreterStatus, mapState, State, StateNode, type Interpreter };
|
|
24
|
+
export { and, not, or, stateIn } from "./guards.js";
|
|
25
25
|
declare global {
|
|
26
26
|
interface SymbolConstructor {
|
|
27
27
|
readonly observable: symbol;
|
|
@@ -143,6 +143,6 @@ export interface ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent
|
|
|
143
143
|
invokeSrcNameMap: Record<string, string>;
|
|
144
144
|
tags: TTag;
|
|
145
145
|
};
|
|
146
|
-
}[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta extends
|
|
146
|
+
}[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta['@@xstate/typegen'] extends true ? 'enabled' : 'disabled'];
|
|
147
147
|
}
|
|
148
148
|
export {};
|
|
@@ -91,7 +91,15 @@ export interface ChooseBranch<TContext extends MachineContext, TExpressionEvent
|
|
|
91
91
|
export type NoRequiredParams<T extends ParameterizedObject> = T extends any ? {
|
|
92
92
|
type: T['type'];
|
|
93
93
|
} extends T ? T['type'] : never : never;
|
|
94
|
-
|
|
94
|
+
type ConditionalRequired<T, Condition extends boolean> = Condition extends true ? Required<T> : T;
|
|
95
|
+
export type WithDynamicParams<TContext extends MachineContext, TExpressionEvent extends EventObject, T extends ParameterizedObject> = T extends any ? ConditionalRequired<{
|
|
96
|
+
type: T['type'];
|
|
97
|
+
params?: T['params'] | (({ context, event }: {
|
|
98
|
+
context: TContext;
|
|
99
|
+
event: TExpressionEvent;
|
|
100
|
+
}) => T['params']);
|
|
101
|
+
}, undefined extends T['params'] ? false : true> : never;
|
|
102
|
+
export type Action<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = NoRequiredParams<TAction> | WithDynamicParams<TContext, TExpressionEvent, TAction> | ActionFunction<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction, TGuard, TDelay>;
|
|
95
103
|
export type UnknownAction = Action<MachineContext, EventObject, EventObject, ParameterizedObject | undefined, ParameterizedObject, ParameterizedObject, string>;
|
|
96
104
|
export type Actions<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = SingleOrArray<Action<TContext, TExpressionEvent, TEvent, TExpressionAction, TAction, TGuard, TDelay>>;
|
|
97
105
|
export type StateKey = string | AnyState;
|
|
@@ -118,10 +126,6 @@ export interface InitialTransitionConfig<TContext extends MachineContext, TEvent
|
|
|
118
126
|
target: TransitionTarget;
|
|
119
127
|
}
|
|
120
128
|
export type AnyTransitionConfig = TransitionConfig<any, any, any, any, any, any>;
|
|
121
|
-
export interface InvokeMeta {
|
|
122
|
-
src: string;
|
|
123
|
-
meta: MetaObject | undefined;
|
|
124
|
-
}
|
|
125
129
|
export interface InvokeDefinition<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> {
|
|
126
130
|
id: string;
|
|
127
131
|
systemId: string | undefined;
|
|
@@ -140,7 +144,6 @@ export interface InvokeDefinition<TContext extends MachineContext, TEvent extend
|
|
|
140
144
|
onError?: string | SingleOrArray<TransitionConfig<TContext, ErrorEvent<any>, ErrorEvent<any>, TAction, TGuard, TDelay>>;
|
|
141
145
|
onSnapshot?: string | SingleOrArray<TransitionConfig<TContext, SnapshotEvent<any>, SnapshotEvent<any>, TAction, TGuard, TDelay>>;
|
|
142
146
|
toJSON: () => Omit<InvokeDefinition<TContext, TEvent, TAction, TGuard, TDelay>, 'onDone' | 'onError' | 'toJSON'>;
|
|
143
|
-
meta: MetaObject | undefined;
|
|
144
147
|
}
|
|
145
148
|
type Delay<TDelay extends string> = TDelay | number;
|
|
146
149
|
export type DelayedTransitions<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
|
|
@@ -162,8 +165,11 @@ export type StatesDefinition<TContext extends MachineContext, TEvent extends Eve
|
|
|
162
165
|
export type TransitionConfigTarget = string | undefined;
|
|
163
166
|
export type TransitionConfigOrTarget<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = SingleOrArray<TransitionConfigTarget | TransitionConfig<TContext, TExpressionEvent, TEvent, TAction, TGuard, TDelay>>;
|
|
164
167
|
export type TransitionsConfig<TContext extends MachineContext, TEvent extends EventObject, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = {
|
|
165
|
-
[K in TEvent
|
|
168
|
+
[K in EventDescriptor<TEvent>]?: TransitionConfigOrTarget<TContext, ExtractEvent<TEvent, K>, TEvent, TAction, TGuard, TDelay>;
|
|
166
169
|
};
|
|
170
|
+
type PartialEventDescriptor<TEventType extends string> = TEventType extends `${infer TLeading}.${infer TTail}` ? `${TLeading}.*` | `${TLeading}.${PartialEventDescriptor<TTail>}` : never;
|
|
171
|
+
export type EventDescriptor<TEvent extends EventObject> = TEvent['type'] | PartialEventDescriptor<TEvent['type']> | '*';
|
|
172
|
+
type NormalizeDescriptor<TDescriptor extends string> = TDescriptor extends '*' ? string : TDescriptor extends `${infer TLeading}.*` ? `${TLeading}.${string}` : TDescriptor;
|
|
167
173
|
type IsLiteralString<T extends string> = string extends T ? false : true;
|
|
168
174
|
type DistributeActors<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string> = TActor extends {
|
|
169
175
|
src: infer TSrc;
|
|
@@ -183,10 +189,6 @@ type DistributeActors<TContext extends MachineContext, TEvent extends EventObjec
|
|
|
183
189
|
*/
|
|
184
190
|
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
185
191
|
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
186
|
-
/**
|
|
187
|
-
* Meta data related to this invocation
|
|
188
|
-
*/
|
|
189
|
-
meta?: MetaObject;
|
|
190
192
|
} & (TActor['id'] extends string ? {
|
|
191
193
|
/**
|
|
192
194
|
* The unique identifier for the invoked machine. If not specified, this
|
|
@@ -221,10 +223,6 @@ export type InvokeConfig<TContext extends MachineContext, TEvent extends EventOb
|
|
|
221
223
|
*/
|
|
222
224
|
onError?: string | SingleOrArray<TransitionConfigOrTarget<TContext, ErrorEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
223
225
|
onSnapshot?: string | SingleOrArray<TransitionConfigOrTarget<TContext, SnapshotEvent<any>, TEvent, TAction, TGuard, TDelay>>;
|
|
224
|
-
/**
|
|
225
|
-
* Meta data related to this invocation
|
|
226
|
-
*/
|
|
227
|
-
meta?: MetaObject;
|
|
228
226
|
};
|
|
229
227
|
export type AnyInvokeConfig = InvokeConfig<any, any, any, any, any, any>;
|
|
230
228
|
export interface StateNodeConfig<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TOutput> {
|
|
@@ -255,7 +253,7 @@ export interface StateNodeConfig<TContext extends MachineContext, TEvent extends
|
|
|
255
253
|
/**
|
|
256
254
|
* The services to invoke upon entering this state node. These services will be stopped upon exiting this state node.
|
|
257
255
|
*/
|
|
258
|
-
invoke?: SingleOrArray<
|
|
256
|
+
invoke?: SingleOrArray<InvokeConfig<TContext, TEvent, TActor, TAction, TGuard, TDelay>>;
|
|
259
257
|
/**
|
|
260
258
|
* The mapping of event types to their potential transition(s).
|
|
261
259
|
*/
|
|
@@ -544,13 +542,13 @@ export interface TransitionDefinition<TContext extends MachineContext, TEvent ex
|
|
|
544
542
|
actions: readonly UnknownAction[];
|
|
545
543
|
reenter: boolean;
|
|
546
544
|
guard?: UnknownGuard;
|
|
547
|
-
eventType: TEvent
|
|
545
|
+
eventType: EventDescriptor<TEvent>;
|
|
548
546
|
toJSON: () => {
|
|
549
547
|
target: string[] | undefined;
|
|
550
548
|
source: string;
|
|
551
549
|
actions: readonly UnknownAction[];
|
|
552
550
|
guard?: UnknownGuard;
|
|
553
|
-
eventType: TEvent
|
|
551
|
+
eventType: EventDescriptor<TEvent>;
|
|
554
552
|
meta?: Record<string, any>;
|
|
555
553
|
};
|
|
556
554
|
}
|
|
@@ -560,9 +558,7 @@ export interface InitialTransitionDefinition<TContext extends MachineContext, TE
|
|
|
560
558
|
guard?: never;
|
|
561
559
|
}
|
|
562
560
|
export type TransitionDefinitionMap<TContext extends MachineContext, TEvent extends EventObject> = {
|
|
563
|
-
[K in TEvent
|
|
564
|
-
type: K;
|
|
565
|
-
}> : EventObject>>;
|
|
561
|
+
[K in EventDescriptor<TEvent>]: Array<TransitionDefinition<TContext, ExtractEvent<TEvent, K>>>;
|
|
566
562
|
};
|
|
567
563
|
export interface DelayedTransitionDefinition<TContext extends MachineContext, TEvent extends EventObject> extends TransitionDefinition<TContext, TEvent> {
|
|
568
564
|
delay: number | string | DelayExpr<TContext, TEvent, undefined>;
|
|
@@ -650,7 +646,7 @@ export interface Subscribable<T> extends InteropSubscribable<T> {
|
|
|
650
646
|
subscribe(observer: Observer<T>): Subscription;
|
|
651
647
|
subscribe(next: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;
|
|
652
648
|
}
|
|
653
|
-
export type ExtractEvent<TEvent extends EventObject,
|
|
649
|
+
export type ExtractEvent<TEvent extends EventObject, TDescriptor extends EventDescriptor<TEvent>> = string extends TEvent['type'] ? TEvent : NormalizeDescriptor<TDescriptor> extends infer TNormalizedDescriptor ? TEvent extends any ? TEvent['type'] extends TNormalizedDescriptor ? TEvent : never : never : never;
|
|
654
650
|
export interface BaseActorRef<TEvent extends EventObject> {
|
|
655
651
|
send: (event: TEvent) => void;
|
|
656
652
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnyActorLogic, AnyState } from "./index.js";
|
|
2
2
|
import type { StateNode } from "./StateNode.js";
|
|
3
|
-
import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig
|
|
3
|
+
import type { ActorLogic, AnyEventObject, EventObject, MachineContext, Mapper, Observer, ErrorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfigTarget, AnyActorRef, AnyTransitionConfig } from "./types.js";
|
|
4
4
|
export declare function keys<T extends object>(value: T): Array<keyof T & string>;
|
|
5
5
|
export declare function matchesState(parentStateId: StateValue, childStateId: StateValue): boolean;
|
|
6
6
|
export declare function toStatePath(stateId: string | string[]): string[];
|
|
@@ -38,7 +38,6 @@ export declare function isErrorEvent(event: AnyEventObject): event is ErrorEvent
|
|
|
38
38
|
export declare function toTransitionConfigArray<TContext extends MachineContext, TEvent extends EventObject>(configLike: SingleOrArray<AnyTransitionConfig | TransitionConfigTarget>): Array<AnyTransitionConfig>;
|
|
39
39
|
export declare function normalizeTarget<TContext extends MachineContext, TEvent extends EventObject>(target: SingleOrArray<string | StateNode<TContext, TEvent>> | undefined): ReadonlyArray<string | StateNode<TContext, TEvent>> | undefined;
|
|
40
40
|
export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
|
|
41
|
-
export declare function toInvokeConfig<TContext extends MachineContext, TEvent extends EventObject>(invocable: AnyInvokeConfig | string | AnyActorLogic, id: string): AnyInvokeConfig;
|
|
42
41
|
export declare function toObserver<T>(nextHandler?: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
|
|
43
42
|
export declare function createInvokeId(stateNodeId: string, index: number): string;
|
|
44
43
|
export declare function resolveReferencedActor(referenced: AnyActorLogic | {
|