xstate 5.0.0-beta.24 → 5.0.0-beta.26
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.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-43f7d40e.development.cjs.js → actions-0971b43d.development.cjs.js} +4 -5
- package/dist/{actions-6a8cda73.cjs.js → actions-319cefe7.cjs.js} +4 -5
- package/dist/{actions-7b182232.esm.js → actions-5943a9db.esm.js} +4 -5
- package/dist/{actions-194e6dcc.development.esm.js → actions-cf69419d.development.esm.js} +4 -5
- package/dist/declarations/src/Machine.d.ts +2 -2
- package/dist/declarations/src/State.d.ts +9 -5
- package/dist/declarations/src/StateMachine.d.ts +20 -16
- package/dist/declarations/src/StateNode.d.ts +21 -5
- package/dist/declarations/src/actions/choose.d.ts +3 -1
- package/dist/declarations/src/actions/pure.d.ts +5 -3
- package/dist/declarations/src/actions/raise.d.ts +2 -1
- package/dist/declarations/src/actions/send.d.ts +11 -55
- package/dist/declarations/src/guards.d.ts +5 -2
- package/dist/declarations/src/stateUtils.d.ts +7 -6
- package/dist/declarations/src/typegenTypes.d.ts +12 -4
- package/dist/declarations/src/types.d.ts +103 -91
- package/dist/xstate.cjs.js +3 -1
- package/dist/xstate.development.cjs.js +3 -1
- package/dist/xstate.development.esm.js +4 -2
- package/dist/xstate.esm.js +4 -2
- 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
|
@@ -1575,11 +1575,7 @@ function evaluateGuard(guard, context, event, state) {
|
|
|
1575
1575
|
machine
|
|
1576
1576
|
} = state;
|
|
1577
1577
|
const isInline = typeof guard === 'function';
|
|
1578
|
-
const resolved = isInline ? guard :
|
|
1579
|
-
// the existing type of `.guards` assumes non-nullable `TExpressionGuard`
|
|
1580
|
-
// it's fine to cast this here to get a common type and lack of errors in the rest of the code
|
|
1581
|
-
// our logic below makes sure that we call those 2 "variants" correctly
|
|
1582
|
-
machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
|
|
1578
|
+
const resolved = isInline ? guard : machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
|
|
1583
1579
|
if (!isInline && !resolved) {
|
|
1584
1580
|
throw new Error(`Guard '${typeof guard === 'string' ? guard : guard.type}' is not implemented.'.`);
|
|
1585
1581
|
}
|
|
@@ -1594,6 +1590,9 @@ function evaluateGuard(guard, context, event, state) {
|
|
|
1594
1590
|
} : guard
|
|
1595
1591
|
};
|
|
1596
1592
|
if (!('check' in resolved)) {
|
|
1593
|
+
// the existing type of `.guards` assumes non-nullable `TExpressionGuard`
|
|
1594
|
+
// inline guards expect `TExpressionGuard` to be set to `undefined`
|
|
1595
|
+
// it's fine to cast this here, our logic makes sure that we call those 2 "variants" correctly
|
|
1597
1596
|
return resolved(guardArgs);
|
|
1598
1597
|
}
|
|
1599
1598
|
const builtinGuard = resolved;
|
|
@@ -1537,11 +1537,7 @@ function evaluateGuard(guard, context, event, state) {
|
|
|
1537
1537
|
machine
|
|
1538
1538
|
} = state;
|
|
1539
1539
|
const isInline = typeof guard === 'function';
|
|
1540
|
-
const resolved = isInline ? guard :
|
|
1541
|
-
// the existing type of `.guards` assumes non-nullable `TExpressionGuard`
|
|
1542
|
-
// it's fine to cast this here to get a common type and lack of errors in the rest of the code
|
|
1543
|
-
// our logic below makes sure that we call those 2 "variants" correctly
|
|
1544
|
-
machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
|
|
1540
|
+
const resolved = isInline ? guard : machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
|
|
1545
1541
|
if (!isInline && !resolved) {
|
|
1546
1542
|
throw new Error(`Guard '${typeof guard === 'string' ? guard : guard.type}' is not implemented.'.`);
|
|
1547
1543
|
}
|
|
@@ -1556,6 +1552,9 @@ function evaluateGuard(guard, context, event, state) {
|
|
|
1556
1552
|
} : guard
|
|
1557
1553
|
};
|
|
1558
1554
|
if (!('check' in resolved)) {
|
|
1555
|
+
// the existing type of `.guards` assumes non-nullable `TExpressionGuard`
|
|
1556
|
+
// inline guards expect `TExpressionGuard` to be set to `undefined`
|
|
1557
|
+
// it's fine to cast this here, our logic makes sure that we call those 2 "variants" correctly
|
|
1559
1558
|
return resolved(guardArgs);
|
|
1560
1559
|
}
|
|
1561
1560
|
const builtinGuard = resolved;
|
|
@@ -1535,11 +1535,7 @@ function evaluateGuard(guard, context, event, state) {
|
|
|
1535
1535
|
machine
|
|
1536
1536
|
} = state;
|
|
1537
1537
|
const isInline = typeof guard === 'function';
|
|
1538
|
-
const resolved = isInline ? guard :
|
|
1539
|
-
// the existing type of `.guards` assumes non-nullable `TExpressionGuard`
|
|
1540
|
-
// it's fine to cast this here to get a common type and lack of errors in the rest of the code
|
|
1541
|
-
// our logic below makes sure that we call those 2 "variants" correctly
|
|
1542
|
-
machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
|
|
1538
|
+
const resolved = isInline ? guard : machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
|
|
1543
1539
|
if (!isInline && !resolved) {
|
|
1544
1540
|
throw new Error(`Guard '${typeof guard === 'string' ? guard : guard.type}' is not implemented.'.`);
|
|
1545
1541
|
}
|
|
@@ -1554,6 +1550,9 @@ function evaluateGuard(guard, context, event, state) {
|
|
|
1554
1550
|
} : guard
|
|
1555
1551
|
};
|
|
1556
1552
|
if (!('check' in resolved)) {
|
|
1553
|
+
// the existing type of `.guards` assumes non-nullable `TExpressionGuard`
|
|
1554
|
+
// inline guards expect `TExpressionGuard` to be set to `undefined`
|
|
1555
|
+
// it's fine to cast this here, our logic makes sure that we call those 2 "variants" correctly
|
|
1557
1556
|
return resolved(guardArgs);
|
|
1558
1557
|
}
|
|
1559
1558
|
const builtinGuard = resolved;
|
|
@@ -1573,11 +1573,7 @@ function evaluateGuard(guard, context, event, state) {
|
|
|
1573
1573
|
machine
|
|
1574
1574
|
} = state;
|
|
1575
1575
|
const isInline = typeof guard === 'function';
|
|
1576
|
-
const resolved = isInline ? guard :
|
|
1577
|
-
// the existing type of `.guards` assumes non-nullable `TExpressionGuard`
|
|
1578
|
-
// it's fine to cast this here to get a common type and lack of errors in the rest of the code
|
|
1579
|
-
// our logic below makes sure that we call those 2 "variants" correctly
|
|
1580
|
-
machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
|
|
1576
|
+
const resolved = isInline ? guard : machine.implementations.guards[typeof guard === 'string' ? guard : guard.type];
|
|
1581
1577
|
if (!isInline && !resolved) {
|
|
1582
1578
|
throw new Error(`Guard '${typeof guard === 'string' ? guard : guard.type}' is not implemented.'.`);
|
|
1583
1579
|
}
|
|
@@ -1592,6 +1588,9 @@ function evaluateGuard(guard, context, event, state) {
|
|
|
1592
1588
|
} : guard
|
|
1593
1589
|
};
|
|
1594
1590
|
if (!('check' in resolved)) {
|
|
1591
|
+
// the existing type of `.guards` assumes non-nullable `TExpressionGuard`
|
|
1592
|
+
// inline guards expect `TExpressionGuard` to be set to `undefined`
|
|
1593
|
+
// it's fine to cast this here, our logic makes sure that we call those 2 "variants" correctly
|
|
1595
1594
|
return resolved(guardArgs);
|
|
1596
1595
|
}
|
|
1597
1596
|
const builtinGuard = resolved;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MachineConfig, EventObject, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, AnyEventObject, NonReducibleUnknown } from "./types.js";
|
|
1
|
+
import { MachineConfig, EventObject, MachineContext, InternalMachineImplementations, ParameterizedObject, ProvidedActor, AnyEventObject, NonReducibleUnknown, Prop } from "./types.js";
|
|
2
2
|
import { TypegenConstraint, TypegenDisabled, ResolveTypegenMeta } from "./typegenTypes.js";
|
|
3
3
|
import { StateMachine } from "./StateMachine.js";
|
|
4
|
-
export declare function createMachine<TContext extends MachineContext, TEvent extends EventObject = AnyEventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TInput = any, TOutput = NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, TEvent, TAction, TGuard,
|
|
4
|
+
export declare function createMachine<TContext extends MachineContext, TEvent extends EventObject = AnyEventObject, TActor extends ProvidedActor = ProvidedActor, TAction extends ParameterizedObject = ParameterizedObject, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string, TTag extends string = string, TInput = any, TOutput = NonReducibleUnknown, TTypesMeta extends TypegenConstraint = TypegenDisabled>(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
|
};
|
|
@@ -12,7 +12,7 @@ export declare function isStateConfig<TContext extends MachineContext, TEvent ex
|
|
|
12
12
|
* @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.
|
|
13
13
|
*/
|
|
14
14
|
export declare const isState: typeof isStateConfig;
|
|
15
|
-
export declare class State<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TOutput, TResolvedTypesMeta = TypegenDisabled> {
|
|
15
|
+
export declare class State<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TTag extends string, TOutput, TResolvedTypesMeta = TypegenDisabled> {
|
|
16
16
|
machine: AnyStateMachine;
|
|
17
17
|
tags: Set<string>;
|
|
18
18
|
value: StateValue;
|
|
@@ -41,7 +41,11 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
|
|
|
41
41
|
* @param stateValue
|
|
42
42
|
* @param context
|
|
43
43
|
*/
|
|
44
|
-
static from<TContext extends MachineContext, TEvent extends EventObject = EventObject>(stateValue: State<TContext, TEvent, TODO, any,
|
|
44
|
+
static from<TContext extends MachineContext, TEvent extends EventObject = EventObject>(stateValue: State<TContext, TEvent, TODO, any, // tags
|
|
45
|
+
any, // output
|
|
46
|
+
any> | StateValue, context: TContext | undefined, machine: AnyStateMachine): State<TContext, TEvent, TODO, any, // tags
|
|
47
|
+
any, // output
|
|
48
|
+
any>;
|
|
45
49
|
/**
|
|
46
50
|
* Creates a new `State` instance that represents the current state of a running machine.
|
|
47
51
|
*
|
|
@@ -67,7 +71,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
|
|
|
67
71
|
* Whether the current state configuration has a state node with the specified `tag`.
|
|
68
72
|
* @param tag
|
|
69
73
|
*/
|
|
70
|
-
hasTag(tag:
|
|
74
|
+
hasTag(tag: TTag): boolean;
|
|
71
75
|
/**
|
|
72
76
|
* Determines whether sending the `event` will cause a non-forbidden transition
|
|
73
77
|
* to be selected, even if the transitions have no actions nor
|
|
@@ -80,7 +84,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
|
|
|
80
84
|
/**
|
|
81
85
|
* The next events that will cause a transition from the current state.
|
|
82
86
|
*/
|
|
83
|
-
get nextEvents(): Array<
|
|
87
|
+
get nextEvents(): Array<EventDescriptor<TEvent>>;
|
|
84
88
|
get meta(): Record<string, any>;
|
|
85
89
|
}
|
|
86
90
|
export declare function cloneState<TState extends AnyState>(state: TState, config?: Partial<StateConfig<any, any>>): TState;
|
|
@@ -4,17 +4,17 @@ import type { AreAllImplementationsAssumedToBeProvided, MarkAllImplementationsAs
|
|
|
4
4
|
import type { ActorContext, ActorLogic, EventObject, InternalMachineImplementations, MachineConfig, MachineContext, MachineImplementationsSimplified, MachineTypes, NoInfer, StateConfig, StateMachineDefinition, StateValue, TransitionDefinition, PersistedMachineState, ParameterizedObject, AnyActorContext, ProvidedActor, Equals, TODO } from "./types.js";
|
|
5
5
|
export declare const STATE_IDENTIFIER = "#";
|
|
6
6
|
export declare const WILDCARD = "*";
|
|
7
|
-
export declare class StateMachine<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TInput, TOutput, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TActor, TAction, TGuard>> implements ActorLogic<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, TODO, TInput, TOutput> {
|
|
7
|
+
export declare class StateMachine<TContext extends MachineContext, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string, TInput, TOutput, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TActor, TAction, TGuard, TDelay, TTag>> implements ActorLogic<TEvent, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>, TODO, TInput, TOutput> {
|
|
8
8
|
/**
|
|
9
9
|
* The raw config used to create the machine.
|
|
10
10
|
*/
|
|
11
|
-
config: MachineConfig<TContext, TEvent, any, any, any, any, TOutput, any>;
|
|
11
|
+
config: MachineConfig<TContext, TEvent, any, any, any, any, any, any, TOutput, any>;
|
|
12
12
|
/**
|
|
13
13
|
* The machine's own version.
|
|
14
14
|
*/
|
|
15
15
|
version?: string;
|
|
16
16
|
implementations: MachineImplementationsSimplified<TContext, TEvent>;
|
|
17
|
-
types: MachineTypes<TContext, TEvent, TAction, TGuard,
|
|
17
|
+
types: MachineTypes<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, TResolvedTypesMeta>;
|
|
18
18
|
__xstatenode: true;
|
|
19
19
|
idMap: Map<string, StateNode<TContext, TEvent>>;
|
|
20
20
|
root: StateNode<TContext, TEvent>;
|
|
@@ -25,7 +25,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
25
25
|
/**
|
|
26
26
|
* The raw config used to create the machine.
|
|
27
27
|
*/
|
|
28
|
-
config: MachineConfig<TContext, TEvent, any, any, any, any, TOutput, any>, implementations?: MachineImplementationsSimplified<TContext, TEvent>);
|
|
28
|
+
config: MachineConfig<TContext, TEvent, any, any, any, any, any, any, TOutput, any>, implementations?: MachineImplementationsSimplified<TContext, TEvent>);
|
|
29
29
|
/**
|
|
30
30
|
* Clones this state machine with the provided implementations
|
|
31
31
|
* and merges the `context` (if provided).
|
|
@@ -35,7 +35,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
35
35
|
*
|
|
36
36
|
* @returns A new `StateMachine` instance with the provided implementations.
|
|
37
37
|
*/
|
|
38
|
-
provide(implementations: InternalMachineImplementations<TContext, TEvent, TActor, TAction, TResolvedTypesMeta, true>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TInput, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>;
|
|
38
|
+
provide(implementations: InternalMachineImplementations<TContext, TEvent, TActor, TAction, TDelay, TResolvedTypesMeta, true>): StateMachine<TContext, TEvent, TActor, TAction, TGuard, TDelay, TTag, TInput, TOutput, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>;
|
|
39
39
|
/**
|
|
40
40
|
* Resolves the given `state` to a new `State` instance relative to this machine.
|
|
41
41
|
*
|
|
@@ -43,8 +43,8 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
43
43
|
*
|
|
44
44
|
* @param state The state to resolve
|
|
45
45
|
*/
|
|
46
|
-
resolveState(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): typeof state;
|
|
47
|
-
resolveStateValue(stateValue: StateValue, ...[context]: Equals<TContext, MachineContext> extends true ? [] : [TContext]): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
|
|
46
|
+
resolveState(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>): typeof state;
|
|
47
|
+
resolveStateValue(stateValue: StateValue, ...[context]: Equals<TContext, MachineContext> extends true ? [] : [TContext]): State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>;
|
|
48
48
|
/**
|
|
49
49
|
* Determines the next state given the current `state` and received `event`.
|
|
50
50
|
* Calculates a full macrostep from all microsteps.
|
|
@@ -52,7 +52,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
52
52
|
* @param state The current State instance or state value
|
|
53
53
|
* @param event The received event
|
|
54
54
|
*/
|
|
55
|
-
transition(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: ActorContext<TEvent, typeof state>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
|
|
55
|
+
transition(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: ActorContext<TEvent, typeof state>): State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>;
|
|
56
56
|
/**
|
|
57
57
|
* Determines the next state given the current `state` and `event`.
|
|
58
58
|
* Calculates a microstep.
|
|
@@ -60,8 +60,8 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
60
60
|
* @param state The current state
|
|
61
61
|
* @param event The received event
|
|
62
62
|
*/
|
|
63
|
-
microstep(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: AnyActorContext): Array<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>;
|
|
64
|
-
getTransitionData(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>>;
|
|
63
|
+
microstep(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, event: TEvent, actorCtx: AnyActorContext): Array<State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>;
|
|
64
|
+
getTransitionData(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>>;
|
|
65
65
|
/**
|
|
66
66
|
* The initial state _before_ evaluating any microsteps.
|
|
67
67
|
* This "pre-initial" state is provided to initial actions executed in the initial state.
|
|
@@ -70,14 +70,14 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
70
70
|
/**
|
|
71
71
|
* Returns the initial `State` instance, with reference to `self` as an `ActorRef`.
|
|
72
72
|
*/
|
|
73
|
-
getInitialState(actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, input?: TInput): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
|
|
74
|
-
start(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): void;
|
|
73
|
+
getInitialState(actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>, input?: TInput): State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>;
|
|
74
|
+
start(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>): void;
|
|
75
75
|
getStateNodeById(stateId: string): StateNode<TContext, TEvent>;
|
|
76
76
|
get definition(): StateMachineDefinition<TContext, TEvent>;
|
|
77
77
|
toJSON(): StateMachineDefinition<TContext, TEvent>;
|
|
78
|
-
getPersistedState(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>;
|
|
79
|
-
createState(stateConfig: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta> | StateConfig<TContext, TEvent>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
|
|
80
|
-
getStatus(state: State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>): {
|
|
78
|
+
getPersistedState(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>): PersistedMachineState<State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>;
|
|
79
|
+
createState(stateConfig: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta> | StateConfig<TContext, TEvent>): State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>;
|
|
80
|
+
getStatus(state: State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>): {
|
|
81
81
|
status: string;
|
|
82
82
|
data: {};
|
|
83
83
|
} | {
|
|
@@ -87,7 +87,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
87
87
|
status: string;
|
|
88
88
|
data?: undefined;
|
|
89
89
|
};
|
|
90
|
-
restoreState(state: PersistedMachineState<State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>, _actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>>): State<TContext, TEvent, TActor, TOutput, TResolvedTypesMeta>;
|
|
90
|
+
restoreState(state: PersistedMachineState<State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>, _actorCtx: ActorContext<TEvent, State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>>): State<TContext, TEvent, TActor, TTag, TOutput, TResolvedTypesMeta>;
|
|
91
91
|
/**@deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
92
92
|
__TContext: TContext;
|
|
93
93
|
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
@@ -99,6 +99,10 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
99
99
|
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
100
100
|
__TGuard: TGuard;
|
|
101
101
|
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
102
|
+
__TDelay: TDelay;
|
|
103
|
+
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
104
|
+
__TTag: TTag;
|
|
105
|
+
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
102
106
|
__TInput: TInput;
|
|
103
107
|
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
104
108
|
__TOutput: TOutput;
|
|
@@ -10,7 +10,12 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
10
10
|
/**
|
|
11
11
|
* The raw config used to create the machine.
|
|
12
12
|
*/
|
|
13
|
-
config: StateNodeConfig<TContext, TEvent, TODO,
|
|
13
|
+
config: StateNodeConfig<TContext, TEvent, TODO, // actions
|
|
14
|
+
TODO, // actors
|
|
15
|
+
TODO, // output
|
|
16
|
+
TODO, // guards
|
|
17
|
+
TODO, // delays
|
|
18
|
+
TODO>;
|
|
14
19
|
/**
|
|
15
20
|
* The relative key of the state node, which represents its location in the overall state value.
|
|
16
21
|
*/
|
|
@@ -59,7 +64,13 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
59
64
|
/**
|
|
60
65
|
* The root machine node.
|
|
61
66
|
*/
|
|
62
|
-
machine: StateMachine<TContext, TEvent, any,
|
|
67
|
+
machine: StateMachine<TContext, TEvent, any, // actors
|
|
68
|
+
any, // input
|
|
69
|
+
TODO, // output
|
|
70
|
+
TODO, // guards
|
|
71
|
+
TODO, // delays
|
|
72
|
+
TODO, // tags
|
|
73
|
+
TODO>;
|
|
63
74
|
/**
|
|
64
75
|
* The meta data associated with this state node, which will be returned in State instances.
|
|
65
76
|
*/
|
|
@@ -80,7 +91,12 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
80
91
|
/**
|
|
81
92
|
* The raw config used to create the machine.
|
|
82
93
|
*/
|
|
83
|
-
config: StateNodeConfig<TContext, TEvent, TODO,
|
|
94
|
+
config: StateNodeConfig<TContext, TEvent, TODO, // actions
|
|
95
|
+
TODO, // actors
|
|
96
|
+
TODO, // output
|
|
97
|
+
TODO, // guards
|
|
98
|
+
TODO, // delays
|
|
99
|
+
TODO>, options: StateNodeOptions<TContext, TEvent>);
|
|
84
100
|
_initialize(): void;
|
|
85
101
|
/**
|
|
86
102
|
* The well-structured state node definition.
|
|
@@ -90,14 +106,14 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
90
106
|
/**
|
|
91
107
|
* The logic invoked as actors by this state node.
|
|
92
108
|
*/
|
|
93
|
-
get invoke(): Array<InvokeDefinition<TContext, TEvent, ParameterizedObject, ParameterizedObject>>;
|
|
109
|
+
get invoke(): Array<InvokeDefinition<TContext, TEvent, ParameterizedObject, ParameterizedObject, string>>;
|
|
94
110
|
/**
|
|
95
111
|
* The mapping of events to transitions.
|
|
96
112
|
*/
|
|
97
113
|
get on(): TransitionDefinitionMap<TContext, TEvent>;
|
|
98
114
|
get after(): Array<DelayedTransitionDefinition<TContext, TEvent>>;
|
|
99
115
|
get initial(): InitialTransitionDefinition<TContext, TEvent>;
|
|
100
|
-
next(state: State<TContext, TEvent, TODO, TODO>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
|
|
116
|
+
next(state: State<TContext, TEvent, TODO, TODO, TODO, TODO>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
|
|
101
117
|
/**
|
|
102
118
|
* The target state value of the history state node, if it exists. This represents the
|
|
103
119
|
* default state value to transition to if no history value exists yet.
|
|
@@ -1,5 +1,7 @@
|
|
|
1
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
|
|
2
|
+
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>>): {
|
|
3
3
|
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
4
4
|
_out_TAction?: TAction | undefined;
|
|
5
|
+
_out_TGuard?: TGuard | undefined;
|
|
6
|
+
_out_TDelay?: TDelay | undefined;
|
|
5
7
|
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Actions, ActionArgs, EventObject, MachineContext, ParameterizedObject, NoInfer } from "../types.js";
|
|
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 }: {
|
|
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, TGuard extends ParameterizedObject = ParameterizedObject, TDelay extends string = string>(getActions: ({ context, event }: {
|
|
3
3
|
context: TContext;
|
|
4
4
|
event: TExpressionEvent;
|
|
5
|
-
}) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction
|
|
5
|
+
}) => Actions<TContext, TExpressionEvent, NoInfer<TEvent>, undefined, NoInfer<TAction>, NoInfer<TGuard>, TDelay> | undefined): {
|
|
6
6
|
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
7
|
-
_out_TAction?: TAction | undefined;
|
|
8
7
|
_out_TEvent?: TEvent | undefined;
|
|
8
|
+
_out_TAction?: TAction | undefined;
|
|
9
|
+
_out_TGuard?: TGuard | undefined;
|
|
10
|
+
_out_TDelay?: TDelay | undefined;
|
|
9
11
|
};
|
|
@@ -5,7 +5,8 @@ import { ActionArgs, EventObject, MachineContext, NoInfer, RaiseActionOptions, S
|
|
|
5
5
|
*
|
|
6
6
|
* @param eventType The event to raise.
|
|
7
7
|
*/
|
|
8
|
-
export declare function raise<TContext extends MachineContext, TExpressionEvent extends EventObject, TEvent extends EventObject = TExpressionEvent, TExpressionAction extends ParameterizedObject | undefined = ParameterizedObject | undefined>(eventOrExpr: NoInfer<TEvent> | SendExpr<TContext, TExpressionEvent, TExpressionAction, NoInfer<TEvent>>, options?: RaiseActionOptions<TContext, TExpressionEvent, TExpressionAction
|
|
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
9
|
(args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
10
10
|
_out_TEvent?: TEvent | undefined;
|
|
11
|
+
_out_TDelay?: TDelay | undefined;
|
|
11
12
|
};
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
import { ActionArgs, ActorRef,
|
|
2
|
-
declare function resolve(actorContext: AnyActorContext, state: AnyState, args: ActionArgs<any, any, any>, { to, event: eventOrExpr, id, delay }: {
|
|
3
|
-
to: AnyActorRef | string | ((args: UnifiedArg<MachineContext, EventObject>) => AnyActorRef | string);
|
|
4
|
-
event: EventObject | SendExpr<MachineContext, EventObject, ParameterizedObject | undefined, EventObject>;
|
|
5
|
-
id: string | undefined;
|
|
6
|
-
delay: string | number | DelayExpr<MachineContext, EventObject, ParameterizedObject | undefined> | undefined;
|
|
7
|
-
}): (AnyState | {
|
|
8
|
-
to: AnyActorRef;
|
|
9
|
-
event: EventObject;
|
|
10
|
-
id: string | undefined;
|
|
11
|
-
delay: number | undefined;
|
|
12
|
-
})[];
|
|
13
|
-
declare function execute(actorContext: AnyActorContext, params: {
|
|
14
|
-
to: AnyActorRef;
|
|
15
|
-
event: EventObject;
|
|
16
|
-
id: string | undefined;
|
|
17
|
-
delay: number | undefined;
|
|
18
|
-
}): void;
|
|
1
|
+
import { ActionArgs, ActorRef, AnyActorRef, AnyEventObject, Cast, EventFrom, EventObject, InferEvent, MachineContext, SendExpr, SendToActionOptions, SendToActionParams, UnifiedArg, ParameterizedObject, NoInfer } from "../types.js";
|
|
19
2
|
/**
|
|
20
3
|
* Sends an event to an actor.
|
|
21
4
|
*
|
|
@@ -25,15 +8,9 @@ declare function execute(actorContext: AnyActorContext, params: {
|
|
|
25
8
|
* - `id` - The unique send event identifier (used with `cancel()`).
|
|
26
9
|
* - `delay` - The number of milliseconds to delay the sending of the event.
|
|
27
10
|
*/
|
|
28
|
-
export declare function sendTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TActor extends AnyActorRef>(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
|
|
29
|
-
(
|
|
30
|
-
|
|
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 _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
|
-
id: string | undefined;
|
|
34
|
-
delay: string | number | DelayExpr<TContext, TExpressionEvent, TExpressionAction> | undefined;
|
|
35
|
-
resolve: typeof resolve;
|
|
36
|
-
execute: typeof execute;
|
|
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;
|
|
37
14
|
};
|
|
38
15
|
/**
|
|
39
16
|
* Sends an event to this machine's parent.
|
|
@@ -41,15 +18,9 @@ export declare function sendTo<TContext extends MachineContext, TExpressionEvent
|
|
|
41
18
|
* @param event The event to send to the parent machine.
|
|
42
19
|
* @param options Options to pass into the send event.
|
|
43
20
|
*/
|
|
44
|
-
export declare function sendParent<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TSentEvent extends EventObject = AnyEventObject>(event: TSentEvent | SendExpr<TContext, TExpressionEvent, TExpressionAction, TSentEvent>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction>): {
|
|
45
|
-
(
|
|
46
|
-
|
|
47
|
-
to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, TSentEvent>) => string | AnyActorRef);
|
|
48
|
-
event: any;
|
|
49
|
-
id: string | undefined;
|
|
50
|
-
delay: string | number | DelayExpr<TContext, TExpressionEvent, TSentEvent> | undefined;
|
|
51
|
-
resolve: typeof resolve;
|
|
52
|
-
execute: typeof execute;
|
|
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;
|
|
53
24
|
};
|
|
54
25
|
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>);
|
|
55
26
|
/**
|
|
@@ -58,16 +29,7 @@ type Target<TContext extends MachineContext, TExpressionEvent extends EventObjec
|
|
|
58
29
|
* @param target The target service to forward the event to.
|
|
59
30
|
* @param options Options to pass into the send action creator.
|
|
60
31
|
*/
|
|
61
|
-
export declare function forwardTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined>(target: Target<TContext, TExpressionEvent, TExpressionAction>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction>):
|
|
62
|
-
(_: ActionArgs<TContext, TExpressionEvent, TExpressionAction>): void;
|
|
63
|
-
type: string;
|
|
64
|
-
to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => string | AnyActorRef);
|
|
65
|
-
event: any;
|
|
66
|
-
id: string | undefined;
|
|
67
|
-
delay: string | number | DelayExpr<TContext, TExpressionEvent, TExpressionAction> | undefined;
|
|
68
|
-
resolve: typeof resolve;
|
|
69
|
-
execute: typeof execute;
|
|
70
|
-
};
|
|
32
|
+
export declare function forwardTo<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionAction extends ParameterizedObject | undefined, TDelay extends string>(target: Target<TContext, TExpressionEvent, TExpressionAction>, options?: SendToActionOptions<TContext, TExpressionEvent, TExpressionAction, TDelay>): (args: ActionArgs<TContext, TExpressionEvent, TExpressionAction>) => void;
|
|
71
33
|
/**
|
|
72
34
|
* Escalates an error by sending it as an event to this machine's parent.
|
|
73
35
|
*
|
|
@@ -75,14 +37,8 @@ export declare function forwardTo<TContext extends MachineContext, TExpressionEv
|
|
|
75
37
|
* takes in the `context`, `event`, and `meta`, and returns the error data to send.
|
|
76
38
|
* @param options Options to pass into the send action creator.
|
|
77
39
|
*/
|
|
78
|
-
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>): {
|
|
79
|
-
(
|
|
80
|
-
|
|
81
|
-
to: string | AnyActorRef | ((args: ActionArgs<TContext, TExpressionEvent, EventObject>) => string | AnyActorRef);
|
|
82
|
-
event: any;
|
|
83
|
-
id: string | undefined;
|
|
84
|
-
delay: string | number | DelayExpr<TContext, TExpressionEvent, EventObject> | undefined;
|
|
85
|
-
resolve: typeof resolve;
|
|
86
|
-
execute: typeof execute;
|
|
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;
|
|
87
43
|
};
|
|
88
44
|
export {};
|
|
@@ -9,9 +9,12 @@ export interface GuardArgs<TContext extends MachineContext, TExpressionEvent ext
|
|
|
9
9
|
guard: TExpressionGuard;
|
|
10
10
|
}
|
|
11
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 =
|
|
12
|
+
export type UnknownGuard = UnknownReferencedGuard | UnknownInlineGuard;
|
|
13
|
+
type UnknownReferencedGuard = Guard<MachineContext, EventObject, ParameterizedObject, ParameterizedObject>;
|
|
14
|
+
type UnknownInlineGuard = Guard<MachineContext, EventObject, undefined, ParameterizedObject>;
|
|
13
15
|
export declare function stateIn<TContext extends MachineContext, TExpressionEvent extends EventObject, TExpressionGuard extends ParameterizedObject | undefined>(stateValue: StateValue): GuardPredicate<TContext, TExpressionEvent, TExpressionGuard, any>;
|
|
14
16
|
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
17
|
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
18
|
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;
|
|
19
|
+
export declare function evaluateGuard<TContext extends MachineContext, TExpressionEvent extends EventObject>(guard: UnknownGuard | UnknownInlineGuard, context: TContext, event: TExpressionEvent, state: AnyState): boolean;
|
|
20
|
+
export {};
|
|
@@ -17,7 +17,7 @@ export declare function getCandidates<TEvent extends EventObject>(stateNode: Sta
|
|
|
17
17
|
export declare function getDelayedTransitions(stateNode: AnyStateNode): Array<DelayedTransitionDefinition<MachineContext, EventObject>>;
|
|
18
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, 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, 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
|
/**
|
|
@@ -35,11 +35,12 @@ export declare function getStateNodeByPath(stateNode: AnyStateNode, statePath: s
|
|
|
35
35
|
*
|
|
36
36
|
* @param state The state value or State instance
|
|
37
37
|
*/
|
|
38
|
-
export declare function getStateNodes<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, state: StateValue | State<TContext, TEvent, TODO, TODO>): Array<AnyStateNode>;
|
|
39
|
-
export declare function transitionAtomicNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: string, state: State<TContext, TEvent, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
40
|
-
export declare function transitionCompoundNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
41
|
-
export declare function transitionParallelNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
42
|
-
export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, state: State<TContext, TEvent, TODO, TODO, TODO
|
|
38
|
+
export declare function getStateNodes<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, state: StateValue | State<TContext, TEvent, TODO, TODO, TODO, TODO>): Array<AnyStateNode>;
|
|
39
|
+
export declare function transitionAtomicNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: string, state: State<TContext, TEvent, TODO, TODO, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
40
|
+
export declare function transitionCompoundNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent, TODO, TODO, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
41
|
+
export declare function transitionParallelNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent, TODO, TODO, TODO, TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
42
|
+
export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, state: State<TContext, TEvent, TODO, TODO, TODO, // output
|
|
43
|
+
TODO>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
43
44
|
export declare function removeConflictingTransitions(enabledTransitions: Array<AnyTransitionDefinition>, configuration: Set<AnyStateNode>, historyValue: AnyHistoryValue): Array<AnyTransitionDefinition>;
|
|
44
45
|
/**
|
|
45
46
|
* https://www.w3.org/TR/scxml/#microstepProcedure
|
|
@@ -81,6 +81,7 @@ export interface ResolvedTypegenMeta extends TypegenMeta {
|
|
|
81
81
|
indexedActions: Record<string, ParameterizedObject>;
|
|
82
82
|
indexedEvents: Record<string, EventObject>;
|
|
83
83
|
indexedGuards: Record<string, ParameterizedObject>;
|
|
84
|
+
indexedDelays: Record<string, ParameterizedObject>;
|
|
84
85
|
};
|
|
85
86
|
}
|
|
86
87
|
export type TypegenConstraint = TypegenEnabled | TypegenDisabled;
|
|
@@ -116,24 +117,31 @@ type AllowAllEvents = {
|
|
|
116
117
|
eventsCausingDelays: Record<string, string>;
|
|
117
118
|
eventsCausingGuards: Record<string, string>;
|
|
118
119
|
};
|
|
119
|
-
type
|
|
120
|
-
|
|
120
|
+
type IndexParameterizedImplementation<TParameterizedImplementation extends ParameterizedObject, TCausingLookup> = string extends TParameterizedImplementation['type'] ? IsNever<TCausingLookup> extends true ? never : Record<keyof TCausingLookup, ParameterizedObject> : IndexByType<TParameterizedImplementation>;
|
|
121
|
+
type WrapIntoParameterizedObject<T extends string> = T extends any ? {
|
|
122
|
+
type: T;
|
|
123
|
+
} : never;
|
|
124
|
+
export interface ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent extends EventObject, TActor extends ProvidedActor, TAction extends ParameterizedObject, TGuard extends ParameterizedObject, TDelay extends string, TTag extends string> {
|
|
121
125
|
'@@xstate/typegen': TTypesMeta['@@xstate/typegen'];
|
|
122
126
|
resolved: {
|
|
123
127
|
enabled: TTypesMeta & {
|
|
124
|
-
indexedActions:
|
|
128
|
+
indexedActions: IndexParameterizedImplementation<TAction, Prop<TTypesMeta, 'eventsCausingActions'>>;
|
|
125
129
|
indexedActors: string extends TActor['src'] ? Record<keyof Prop<TTypesMeta, 'eventsCausingActors'>, {
|
|
126
130
|
logic: AnyActorLogic;
|
|
127
131
|
}> : IndexByProp<TActor, 'src'>;
|
|
128
132
|
indexedEvents: MergeWithInternalEvents<IndexByType<(string extends TEvent['type'] ? never : TEvent) | GenerateActorEvents<TActor, Prop<TTypesMeta, 'invokeSrcNameMap'>>>, Prop<TTypesMeta, 'internalEvents'>>;
|
|
129
|
-
indexedGuards:
|
|
133
|
+
indexedGuards: IndexParameterizedImplementation<TGuard, Prop<TTypesMeta, 'eventsCausingGuards'>>;
|
|
134
|
+
indexedDelays: IndexParameterizedImplementation<WrapIntoParameterizedObject<TDelay>, Prop<TTypesMeta, 'eventsCausingDelays'>>;
|
|
135
|
+
tags: string extends TTag ? Prop<TTypesMeta, 'tags'> : TTag;
|
|
130
136
|
};
|
|
131
137
|
disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & {
|
|
132
138
|
indexedActions: IndexByType<TAction>;
|
|
133
139
|
indexedActors: IndexByProp<TActor, 'src'>;
|
|
134
140
|
indexedEvents: Record<string, TEvent>;
|
|
135
141
|
indexedGuards: IndexByType<TGuard>;
|
|
142
|
+
indexedDelays: IndexByType<WrapIntoParameterizedObject<TDelay>>;
|
|
136
143
|
invokeSrcNameMap: Record<string, string>;
|
|
144
|
+
tags: TTag;
|
|
137
145
|
};
|
|
138
146
|
}[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta extends TypegenEnabled ? 'enabled' : 'disabled'];
|
|
139
147
|
}
|