xstate 5.0.0-alpha.5 → 5.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/dist/xstate-actions.cjs.d.mts +2 -0
- package/actions/dist/xstate-actions.cjs.d.mts.map +1 -0
- package/actions/dist/xstate-actions.cjs.d.ts +1 -0
- package/actions/dist/xstate-actions.cjs.d.ts.map +1 -0
- package/actions/dist/xstate-actions.cjs.dev.js +2 -2
- package/actions/dist/xstate-actions.cjs.mjs +24 -0
- package/actions/dist/xstate-actions.cjs.prod.js +3 -3
- 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.d.mts +2 -0
- package/actors/dist/xstate-actors.cjs.d.mts.map +1 -0
- package/actors/dist/xstate-actors.cjs.d.ts +1 -0
- package/actors/dist/xstate-actors.cjs.d.ts.map +1 -0
- package/actors/dist/xstate-actors.cjs.dev.js +2 -1
- package/actors/dist/xstate-actors.cjs.mjs +15 -0
- package/actors/dist/xstate-actors.cjs.prod.js +3 -2
- package/actors/dist/xstate-actors.esm.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dev/dist/xstate-dev.cjs.d.mts +2 -0
- package/dev/dist/xstate-dev.cjs.d.mts.map +1 -0
- package/dev/dist/xstate-dev.cjs.d.ts +1 -0
- package/dev/dist/xstate-dev.cjs.d.ts.map +1 -0
- package/dev/dist/xstate-dev.cjs.mjs +5 -0
- package/dev/dist/xstate-dev.cjs.prod.js +6 -43
- package/dev/dist/xstate-dev.umd.min.js.map +1 -1
- package/dist/{actions-96f799fc.cjs.dev.js → actions-109712d3.cjs.dev.js} +397 -379
- package/dist/{actions-7678b87b.esm.js → actions-67f1d04e.esm.js} +351 -366
- package/dist/{actions-2479953d.cjs.prod.js → actions-d0262a43.cjs.prod.js} +420 -388
- package/dist/declarations/src/State.d.ts +2 -3
- package/dist/declarations/src/StateMachine.d.ts +6 -6
- package/dist/declarations/src/StateNode.d.ts +5 -11
- package/dist/declarations/src/actions/send.d.ts +0 -7
- package/dist/declarations/src/actions.d.ts +13 -12
- package/dist/declarations/src/actors/index.d.ts +2 -1
- package/dist/declarations/src/actors/observable.d.ts +1 -2
- package/dist/declarations/src/actors/promise.d.ts +1 -2
- package/dist/declarations/src/guards.d.ts +2 -2
- package/dist/declarations/src/index.d.ts +13 -29
- package/dist/declarations/src/interpreter.d.ts +5 -4
- package/dist/declarations/src/spawn.d.ts +2 -2
- package/dist/declarations/src/stateUtils.d.ts +15 -14
- package/dist/declarations/src/typegenTypes.d.ts +10 -4
- package/dist/declarations/src/types.d.ts +27 -101
- package/dist/declarations/src/utils.d.ts +3 -5
- package/dist/declarations/src/waitFor.d.ts +33 -0
- package/dist/index-0f3fdf0c.cjs.prod.js +52 -0
- package/dist/xstate.cjs.d.mts +2 -0
- package/dist/xstate.cjs.d.mts.map +1 -0
- package/dist/xstate.cjs.d.ts +1 -0
- package/dist/xstate.cjs.d.ts.map +1 -0
- package/dist/xstate.cjs.dev.js +125 -111
- package/dist/xstate.cjs.mjs +38 -0
- package/dist/xstate.cjs.prod.js +123 -112
- package/dist/xstate.esm.js +108 -99
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/guards/dist/xstate-guards.cjs.d.mts +2 -0
- package/guards/dist/xstate-guards.cjs.d.mts.map +1 -0
- package/guards/dist/xstate-guards.cjs.d.ts +1 -0
- package/guards/dist/xstate-guards.cjs.d.ts.map +1 -0
- package/guards/dist/xstate-guards.cjs.dev.js +1 -1
- package/guards/dist/xstate-guards.cjs.mjs +8 -0
- package/guards/dist/xstate-guards.cjs.prod.js +2 -2
- 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 +7 -1
- package/dist/declarations/src/schema.d.ts +0 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { StateNode } from './StateNode.ts';
|
|
2
2
|
import { TypegenDisabled, TypegenEnabled } from './typegenTypes.ts';
|
|
3
|
-
import type { ActorRef, AnyState, AnyStateMachine, BaseActionObject, EventObject, HistoryValue, MachineContext, PersistedMachineState, Prop,
|
|
3
|
+
import type { ActorRef, AnyState, AnyStateMachine, BaseActionObject, EventObject, HistoryValue, MachineContext, PersistedMachineState, Prop, StateConfig, StateValue, TransitionDefinition } from './types.ts';
|
|
4
4
|
export declare function isStateConfig<TContext extends MachineContext, TEvent extends EventObject>(state: any): state is StateConfig<TContext, TEvent>;
|
|
5
5
|
/**
|
|
6
6
|
* @deprecated Use `isStateConfig(object)` or `state instanceof State` instead.
|
|
@@ -22,8 +22,7 @@ export declare class State<TContext extends MachineContext, TEvent extends Event
|
|
|
22
22
|
historyValue: Readonly<HistoryValue<TContext, TEvent>>;
|
|
23
23
|
actions: BaseActionObject[];
|
|
24
24
|
event: TEvent;
|
|
25
|
-
_internalQueue: Array<
|
|
26
|
-
_event: SCXML.Event<TEvent>;
|
|
25
|
+
_internalQueue: Array<TEvent>;
|
|
27
26
|
_initial: boolean;
|
|
28
27
|
/**
|
|
29
28
|
* Indicates whether the state has changed from the previous state. A state is considered "changed" if:
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { State } from './State.ts';
|
|
2
2
|
import { StateNode } from './StateNode.ts';
|
|
3
3
|
import type { AreAllImplementationsAssumedToBeProvided, MarkAllImplementationsAsProvided, ResolveTypegenMeta, TypegenDisabled } from './typegenTypes.ts';
|
|
4
|
-
import type { ActorContext, ActorMap, ActorBehavior, EventObject, InternalMachineImplementations, MachineConfig, MachineContext, MachineImplementationsSimplified,
|
|
4
|
+
import type { ActorContext, ActorMap, ActorBehavior, EventObject, InternalMachineImplementations, MachineConfig, MachineContext, MachineImplementationsSimplified, MachineTypes, NoInfer, StateConfig, StateMachineDefinition, StateValue, TransitionDefinition, PersistedMachineState, ParameterizedObject, AnyActorContext } from './types.ts';
|
|
5
5
|
export declare const NULL_EVENT = "";
|
|
6
6
|
export declare const STATE_IDENTIFIER = "#";
|
|
7
7
|
export declare const WILDCARD = "*";
|
|
8
|
-
export declare class StateMachine<TContext extends MachineContext, TEvent extends EventObject = EventObject, TAction extends ParameterizedObject = ParameterizedObject, TActorMap extends ActorMap = ActorMap, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TAction, TActorMap>> implements ActorBehavior<TEvent
|
|
8
|
+
export declare class StateMachine<TContext extends MachineContext, TEvent extends EventObject = EventObject, TAction extends ParameterizedObject = ParameterizedObject, TActorMap extends ActorMap = ActorMap, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, NoInfer<TEvent>, TAction, TActorMap>> implements ActorBehavior<TEvent, State<TContext, TEvent, TResolvedTypesMeta>, State<TContext, TEvent, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TResolvedTypesMeta>>> {
|
|
9
9
|
/**
|
|
10
10
|
* The raw config used to create the machine.
|
|
11
11
|
*/
|
|
@@ -21,7 +21,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
21
21
|
*/
|
|
22
22
|
delimiter: string;
|
|
23
23
|
options: MachineImplementationsSimplified<TContext, TEvent>;
|
|
24
|
-
|
|
24
|
+
types: MachineTypes<TContext, TEvent>;
|
|
25
25
|
__xstatenode: true;
|
|
26
26
|
idMap: Map<string, StateNode<TContext, TEvent>>;
|
|
27
27
|
root: StateNode<TContext, TEvent>;
|
|
@@ -59,7 +59,7 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
59
59
|
* @param state The current State instance or state value
|
|
60
60
|
* @param event The received event
|
|
61
61
|
*/
|
|
62
|
-
transition(state: StateValue | State<TContext, TEvent, TResolvedTypesMeta> | undefined, event: TEvent
|
|
62
|
+
transition(state: StateValue | State<TContext, TEvent, TResolvedTypesMeta> | undefined, event: TEvent, actorCtx?: ActorContext<TEvent, State<TContext, TEvent, any>>): State<TContext, TEvent, TResolvedTypesMeta>;
|
|
63
63
|
/**
|
|
64
64
|
* Determines the next state given the current `state` and `event`.
|
|
65
65
|
* Calculates a microstep.
|
|
@@ -67,8 +67,8 @@ export declare class StateMachine<TContext extends MachineContext, TEvent extend
|
|
|
67
67
|
* @param state The current state
|
|
68
68
|
* @param event The received event
|
|
69
69
|
*/
|
|
70
|
-
microstep(state: State<TContext, TEvent, TResolvedTypesMeta> | undefined, event: TEvent
|
|
71
|
-
getTransitionData(state: State<TContext, TEvent, TResolvedTypesMeta>,
|
|
70
|
+
microstep(state: State<TContext, TEvent, TResolvedTypesMeta> | undefined, event: TEvent, actorCtx?: AnyActorContext | undefined): Array<State<TContext, TEvent, TResolvedTypesMeta>>;
|
|
71
|
+
getTransitionData(state: State<TContext, TEvent, TResolvedTypesMeta>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>>;
|
|
72
72
|
/**
|
|
73
73
|
* The initial state _before_ evaluating any microsteps.
|
|
74
74
|
* This "pre-initial" state is provided to initial actions executed in the initial state.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EventObject, StateNodeDefinition, TransitionDefinition, DelayedTransitionDefinition, StateNodeConfig, StateNodesConfig, InvokeDefinition, Mapper, PropertyMapper,
|
|
1
|
+
import type { EventObject, StateNodeDefinition, TransitionDefinition, DelayedTransitionDefinition, StateNodeConfig, StateNodesConfig, InvokeDefinition, Mapper, PropertyMapper, TransitionDefinitionMap, InitialTransitionDefinition, MachineContext, BaseActionObject } from './types.ts';
|
|
2
2
|
import type { State } from './State.ts';
|
|
3
3
|
import type { StateMachine } from './StateMachine.ts';
|
|
4
4
|
interface StateNodeOptions<TContext extends MachineContext, TEvent extends EventObject> {
|
|
@@ -65,11 +65,11 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
65
65
|
*/
|
|
66
66
|
meta?: any;
|
|
67
67
|
/**
|
|
68
|
-
* The data sent with the "done.state._id_" event if this is a final state node.
|
|
68
|
+
* The output data sent with the "done.state._id_" event if this is a final state node.
|
|
69
69
|
*/
|
|
70
|
-
|
|
70
|
+
output?: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>;
|
|
71
71
|
/**
|
|
72
|
-
* The order this state node appears. Corresponds to the implicit
|
|
72
|
+
* The order this state node appears. Corresponds to the implicit document order.
|
|
73
73
|
*/
|
|
74
74
|
order: number;
|
|
75
75
|
description?: string;
|
|
@@ -97,13 +97,7 @@ export declare class StateNode<TContext extends MachineContext = MachineContext,
|
|
|
97
97
|
get on(): TransitionDefinitionMap<TContext, TEvent>;
|
|
98
98
|
get after(): Array<DelayedTransitionDefinition<TContext, TEvent>>;
|
|
99
99
|
get initial(): InitialTransitionDefinition<TContext, TEvent>;
|
|
100
|
-
|
|
101
|
-
* Returns `true` if this state node explicitly handles the given event.
|
|
102
|
-
*
|
|
103
|
-
* @param event The event in question
|
|
104
|
-
*/
|
|
105
|
-
handles(event: TEvent): boolean;
|
|
106
|
-
next(state: State<TContext, TEvent>, _event: SCXML.Event<TEvent>): TransitionDefinition<TContext, TEvent>[] | undefined;
|
|
100
|
+
next(state: State<TContext, TEvent>, event: TEvent): TransitionDefinition<TContext, TEvent>[] | undefined;
|
|
107
101
|
/**
|
|
108
102
|
* The target state value of the history state node, if it exists. This represents the
|
|
109
103
|
* default state value to transition to if no history value exists yet.
|
|
@@ -20,13 +20,6 @@ export declare function send<TContext extends MachineContext, TEvent extends Eve
|
|
|
20
20
|
* @param options Options to pass into the send event.
|
|
21
21
|
*/
|
|
22
22
|
export declare function sendParent<TContext extends MachineContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(event: TSentEvent | SendExpr<TContext, TEvent, TSentEvent>, options?: SendActionOptions<TContext, TEvent>): BaseDynamicActionObject<TContext, TEvent, TEvent, SendActionObject<AnyEventObject>, SendActionParams<TContext, TEvent, EventObject>>;
|
|
23
|
-
/**
|
|
24
|
-
* Sends an event back to the sender of the original event.
|
|
25
|
-
*
|
|
26
|
-
* @param event The event to send back to the sender
|
|
27
|
-
* @param options Options to pass into the send event
|
|
28
|
-
*/
|
|
29
|
-
export declare function respond<TContext extends MachineContext, TEvent extends EventObject, TSentEvent extends EventObject = AnyEventObject>(event: TEvent | SendExpr<TContext, TEvent, TSentEvent>, options?: SendActionOptions<TContext, TEvent>): BaseDynamicActionObject<TContext, TEvent, TEvent, SendActionObject<AnyEventObject>, SendActionParams<TContext, TEvent, EventObject>>;
|
|
30
23
|
/**
|
|
31
24
|
* Forwards (sends) an event to a specified service.
|
|
32
25
|
*
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { Action, EventObject, SingleOrArray, ActionFunction, ActionFunctionMap, ActionTypes, DoneEvent, ErrorPlatformEvent, DoneEventObject, MachineContext, BaseActionObject
|
|
1
|
+
import { Action, EventObject, SingleOrArray, ActionFunction, ActionFunctionMap, ActionTypes, DoneEvent, ErrorPlatformEvent, DoneEventObject, MachineContext, BaseActionObject } from './types.ts';
|
|
2
2
|
import * as actionTypes from './actionTypes.ts';
|
|
3
|
-
export { send, sendTo, sendParent,
|
|
3
|
+
export { send, sendTo, sendParent, forwardTo, escalate } from './actions/send.ts';
|
|
4
4
|
export { stop } from './actions/stop.ts';
|
|
5
5
|
export { log } from './actions/log.ts';
|
|
6
6
|
export { cancel } from './actions/cancel.ts';
|
|
7
7
|
export { assign } from './actions/assign.ts';
|
|
8
8
|
export { raise } from './actions/raise.ts';
|
|
9
9
|
export { choose } from './actions/choose.ts';
|
|
10
|
+
export { pure } from './actions/pure.ts';
|
|
10
11
|
export { actionTypes };
|
|
11
|
-
export declare const initEvent:
|
|
12
|
+
export declare const initEvent: {
|
|
12
13
|
type: ActionTypes;
|
|
13
|
-
}
|
|
14
|
+
};
|
|
14
15
|
export declare function resolveActionObject(actionObject: BaseActionObject, actionFunctionMap: ActionFunctionMap<any, any>): BaseActionObject;
|
|
15
16
|
export declare function toActionObject<TContext extends MachineContext, TEvent extends EventObject>(action: BaseActionObject | ActionFunction<TContext, TEvent> | string): BaseActionObject;
|
|
16
17
|
export declare const toActionObjects: <TContext extends MachineContext, TEvent extends EventObject>(action?: SingleOrArray<Action<TContext, TEvent>> | undefined) => BaseActionObject[];
|
|
@@ -27,9 +28,9 @@ export declare function after(delayRef: number | string, id?: string): string;
|
|
|
27
28
|
* has been reached in the parent state node.
|
|
28
29
|
*
|
|
29
30
|
* @param id The final state node's parent state node `id`
|
|
30
|
-
* @param
|
|
31
|
+
* @param output The data to pass into the event
|
|
31
32
|
*/
|
|
32
|
-
export declare function done(id: string,
|
|
33
|
+
export declare function done(id: string, output?: any): DoneEventObject;
|
|
33
34
|
/**
|
|
34
35
|
* Returns an event that represents that an invoked service has terminated.
|
|
35
36
|
*
|
|
@@ -37,11 +38,11 @@ export declare function done(id: string, data?: any): DoneEventObject;
|
|
|
37
38
|
* but not when it is canceled.
|
|
38
39
|
*
|
|
39
40
|
* @param invokeId The invoked service ID
|
|
40
|
-
* @param
|
|
41
|
+
* @param output The data to pass into the event
|
|
41
42
|
*/
|
|
42
|
-
export declare function doneInvoke(invokeId: string,
|
|
43
|
+
export declare function doneInvoke(invokeId: string, output?: any): DoneEvent;
|
|
43
44
|
export declare function error(id: string, data?: any): ErrorPlatformEvent & string;
|
|
44
|
-
export declare function createInitEvent(input: any):
|
|
45
|
-
type: ActionTypes.Init;
|
|
46
|
-
input: any;
|
|
47
|
-
}
|
|
45
|
+
export declare function createInitEvent(input: any): {
|
|
46
|
+
readonly type: ActionTypes.Init;
|
|
47
|
+
readonly input: any;
|
|
48
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EventObject, ActorRef, BaseActorRef } from '../types.ts';
|
|
1
|
+
import type { EventObject, ActorRef, BaseActorRef, AnyEventObject } from '../types.ts';
|
|
2
2
|
export { fromTransition } from './transition.ts';
|
|
3
3
|
export { fromPromise } from './promise.ts';
|
|
4
4
|
export { fromObservable, fromEventObservable } from './observable.ts';
|
|
@@ -25,3 +25,4 @@ export type LifecycleSignalType = typeof startSignalType | typeof stopSignalType
|
|
|
25
25
|
export declare function isSignal(eventType: string): eventType is LifecycleSignalType;
|
|
26
26
|
export declare function isActorRef(item: any): item is ActorRef<any>;
|
|
27
27
|
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
|
+
export declare function createEmptyActor(): ActorRef<AnyEventObject, undefined>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Subscribable, ActorBehavior, EventObject, Subscription } from '../types';
|
|
2
2
|
export interface ObservableInternalState<T> {
|
|
3
3
|
subscription: Subscription | undefined;
|
|
4
|
-
|
|
5
|
-
status: 'active' | 'done' | 'error';
|
|
4
|
+
status: 'active' | 'done' | 'error' | 'canceled';
|
|
6
5
|
data: T | undefined;
|
|
7
6
|
input?: any;
|
|
8
7
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { EventObject, StateValue, BooleanGuardDefinition, GuardConfig, GuardDefinition,
|
|
1
|
+
import type { EventObject, StateValue, BooleanGuardDefinition, GuardConfig, GuardDefinition, GuardPredicate, MachineContext } from './types.ts';
|
|
2
2
|
import type { State } from './State.ts';
|
|
3
3
|
export declare function stateIn<TContext extends MachineContext, TEvent extends EventObject>(stateValue: StateValue): GuardDefinition<TContext, TEvent>;
|
|
4
4
|
export declare function not<TContext extends MachineContext, TEvent extends EventObject>(guard: GuardConfig<TContext, TEvent>): BooleanGuardDefinition<TContext, TEvent>;
|
|
5
5
|
export declare function and<TContext extends MachineContext, TEvent extends EventObject>(guards: Array<GuardConfig<TContext, TEvent>>): BooleanGuardDefinition<TContext, TEvent>;
|
|
6
6
|
export declare function or<TContext extends MachineContext, TEvent extends EventObject>(guards: Array<GuardConfig<TContext, TEvent>>): BooleanGuardDefinition<TContext, TEvent>;
|
|
7
|
-
export declare function evaluateGuard<TContext extends MachineContext, TEvent extends EventObject>(guard: GuardDefinition<TContext, TEvent>, context: TContext,
|
|
7
|
+
export declare function evaluateGuard<TContext extends MachineContext, TEvent extends EventObject>(guard: GuardDefinition<TContext, TEvent>, context: TContext, event: TEvent, state: State<TContext, TEvent>): boolean;
|
|
8
8
|
export declare function toGuardDefinition<TContext extends MachineContext, TEvent extends EventObject>(guardConfig: GuardConfig<TContext, TEvent>, getPredicate?: (guardType: string) => GuardPredicate<TContext, TEvent>): GuardDefinition<TContext, TEvent>;
|
|
@@ -1,42 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { stop } from './actions/stop.ts';
|
|
1
|
+
import { doneInvoke, forwardTo, sendParent, sendTo } from './actions.ts';
|
|
2
|
+
export { assign } from './actions/assign.ts';
|
|
3
|
+
export { cancel } from './actions/cancel.ts';
|
|
4
|
+
export { choose } from './actions/choose.ts';
|
|
5
|
+
export { log } from './actions/log.ts';
|
|
6
|
+
export { pure } from './actions/pure.ts';
|
|
7
|
+
export { raise } from './actions/raise.ts';
|
|
8
|
+
export { stop } from './actions/stop.ts';
|
|
10
9
|
import { interpret, Interpreter, ActorStatus } from './interpreter.ts';
|
|
11
10
|
import { createMachine } from './Machine.ts';
|
|
12
11
|
import { mapState } from './mapState.ts';
|
|
13
12
|
import { State } from './State.ts';
|
|
14
13
|
import { StateNode } from './StateNode.ts';
|
|
15
|
-
export { createSchema, t } from './schema.ts';
|
|
16
14
|
export { SimulatedClock } from './SimulatedClock.ts';
|
|
17
15
|
export { StateMachine } from './StateMachine.ts';
|
|
18
16
|
export { getStateNodes } from './stateUtils.ts';
|
|
17
|
+
export { waitFor } from './waitFor.ts';
|
|
19
18
|
export * from './typegenTypes.ts';
|
|
20
19
|
export * from './types.ts';
|
|
21
|
-
export { matchesState, pathToStateValue, toObserver
|
|
22
|
-
export { StateNode, State, mapState,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
send: typeof send;
|
|
26
|
-
sendParent: typeof sendParent;
|
|
27
|
-
sendTo: typeof sendTo;
|
|
28
|
-
log: typeof log;
|
|
29
|
-
cancel: typeof cancel;
|
|
30
|
-
stop: typeof stop;
|
|
31
|
-
assign: typeof assign;
|
|
32
|
-
after: typeof after;
|
|
33
|
-
done: typeof done;
|
|
34
|
-
respond: typeof respond;
|
|
35
|
-
forwardTo: typeof forwardTo;
|
|
36
|
-
escalate: typeof escalate;
|
|
37
|
-
choose: typeof choose;
|
|
38
|
-
pure: typeof pure;
|
|
39
|
-
};
|
|
20
|
+
export { matchesState, pathToStateValue, toObserver } from './utils.ts';
|
|
21
|
+
export { StateNode, State, mapState, sendTo, sendParent, forwardTo, interpret, Interpreter, ActorStatus as InterpreterStatus, doneInvoke, createMachine };
|
|
22
|
+
export { fromPromise, fromObservable, fromCallback, fromEventObservable, fromTransition } from './actors/index.ts';
|
|
23
|
+
export { stateIn, not, and, or } from './guards.ts';
|
|
40
24
|
declare global {
|
|
41
25
|
interface SymbolConstructor {
|
|
42
26
|
readonly observable: symbol;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { symbolObservable } from './symbolObservable.ts';
|
|
2
|
-
import { AreAllImplementationsAssumedToBeProvided } from './typegenTypes.ts';
|
|
2
|
+
import { AreAllImplementationsAssumedToBeProvided, MissingImplementationsError } from './typegenTypes.ts';
|
|
3
3
|
import type { ActorSystem, AnyActorBehavior, AnyStateMachine, EventFromBehavior, InterpreterFrom, PersistedStateFrom, RaiseActionObject, SnapshotFrom } from './types.ts';
|
|
4
|
-
import { ActorRef, DoneEvent, EventObject, InteropSubscribable, InterpreterOptions, Observer,
|
|
4
|
+
import { ActorRef, DoneEvent, EventObject, InteropSubscribable, InterpreterOptions, Observer, SendActionObject, Subscription } from './types.ts';
|
|
5
5
|
export type SnapshotListener<TBehavior extends AnyActorBehavior> = (state: SnapshotFrom<TBehavior>) => void;
|
|
6
6
|
export type EventListener<TEvent extends EventObject = EventObject> = (event: TEvent) => void;
|
|
7
7
|
export type Listener = () => void;
|
|
@@ -77,13 +77,14 @@ export declare class Interpreter<TBehavior extends AnyActorBehavior, TEvent exte
|
|
|
77
77
|
*/
|
|
78
78
|
stop(): this;
|
|
79
79
|
private _complete;
|
|
80
|
+
private _error;
|
|
80
81
|
private _stopProcedure;
|
|
81
82
|
/**
|
|
82
83
|
* Sends an event to the running interpreter to trigger a transition.
|
|
83
84
|
*
|
|
84
85
|
* @param event The event to send
|
|
85
86
|
*/
|
|
86
|
-
send(event: TEvent
|
|
87
|
+
send(event: TEvent): void;
|
|
87
88
|
delaySend(sendAction: SendActionObject | RaiseActionObject<any, any, any>): void;
|
|
88
89
|
cancel(sendId: string | number): void;
|
|
89
90
|
private attachDevTools;
|
|
@@ -100,5 +101,5 @@ export declare class Interpreter<TBehavior extends AnyActorBehavior, TEvent exte
|
|
|
100
101
|
* @param machine The machine to interpret
|
|
101
102
|
* @param options Interpreter options
|
|
102
103
|
*/
|
|
103
|
-
export declare function interpret<TMachine extends AnyStateMachine>(machine: AreAllImplementationsAssumedToBeProvided<TMachine['__TResolvedTypesMeta']> extends true ? TMachine : '
|
|
104
|
+
export declare function interpret<TMachine extends AnyStateMachine>(machine: AreAllImplementationsAssumedToBeProvided<TMachine['__TResolvedTypesMeta']> extends true ? TMachine : MissingImplementationsError<TMachine['__TResolvedTypesMeta']>, options?: InterpreterOptions<TMachine>): InterpreterFrom<TMachine>;
|
|
104
105
|
export declare function interpret<TBehavior extends AnyActorBehavior>(behavior: TBehavior, options?: InterpreterOptions<TBehavior>): Interpreter<TBehavior>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { InvokeActionObject, AnyStateMachine, Spawner, ActorRef, MachineContext, EventObject
|
|
2
|
-
export declare function createSpawner<TContext extends MachineContext, TEvent extends EventObject>(self: ActorRef<any, any> | undefined, machine: AnyStateMachine, context: TContext,
|
|
1
|
+
import { InvokeActionObject, AnyStateMachine, Spawner, ActorRef, MachineContext, EventObject } from './index.ts';
|
|
2
|
+
export declare function createSpawner<TContext extends MachineContext, TEvent extends EventObject>(self: ActorRef<any, any> | undefined, machine: AnyStateMachine, context: TContext, event: TEvent, mutCapturedActions: InvokeActionObject[]): Spawner;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseActionObject, EventObject, StateValue, TransitionConfig, TransitionDefinition, SingleOrArray,
|
|
1
|
+
import { BaseActionObject, EventObject, StateValue, TransitionConfig, TransitionDefinition, SingleOrArray, StateValueMap, InitialTransitionConfig, MachineContext } from './types.ts';
|
|
2
2
|
import { State } from './State.ts';
|
|
3
3
|
import { NULL_EVENT } from './constants.ts';
|
|
4
4
|
import type { StateNode } from './StateNode.ts';
|
|
@@ -11,12 +11,7 @@ export declare function getAdjList<TContext extends MachineContext, TE extends E
|
|
|
11
11
|
export declare function getStateValue(rootNode: AnyStateNode, configuration: AnyConfiguration): StateValue;
|
|
12
12
|
export declare function isInFinalState(configuration: Array<AnyStateNode>, stateNode?: AnyStateNode): boolean;
|
|
13
13
|
export declare const isStateId: (str: string) => boolean;
|
|
14
|
-
export declare function getCandidates<TEvent extends EventObject>(stateNode: StateNode<any, TEvent>, receivedEventType: TEvent['type'],
|
|
15
|
-
/**
|
|
16
|
-
* If `true`, will use SCXML event partial token matching semantics
|
|
17
|
-
* without the need for the ".*" suffix
|
|
18
|
-
*/
|
|
19
|
-
partialMatch?: boolean): Array<TransitionDefinition<any, TEvent>>;
|
|
14
|
+
export declare function getCandidates<TEvent extends EventObject>(stateNode: StateNode<any, TEvent>, receivedEventType: TEvent['type']): Array<TransitionDefinition<any, TEvent>>;
|
|
20
15
|
/**
|
|
21
16
|
* All delayed transitions from the config.
|
|
22
17
|
*/
|
|
@@ -32,16 +27,22 @@ export declare function getInitialStateNodes(stateNode: AnyStateNode): Array<Any
|
|
|
32
27
|
* Returns the child state node from its relative `stateKey`, or throws.
|
|
33
28
|
*/
|
|
34
29
|
export declare function getStateNode(stateNode: AnyStateNode, stateKey: string): AnyStateNode;
|
|
30
|
+
/**
|
|
31
|
+
* Returns the relative state node from the given `statePath`, or throws.
|
|
32
|
+
*
|
|
33
|
+
* @param statePath The string or string array relative path to the state node.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getStateNodeByPath(stateNode: AnyStateNode, statePath: string | string[]): AnyStateNode;
|
|
35
36
|
/**
|
|
36
37
|
* Returns the state nodes represented by the current state value.
|
|
37
38
|
*
|
|
38
39
|
* @param state The state value or State instance
|
|
39
40
|
*/
|
|
40
41
|
export declare function getStateNodes<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, state: StateValue | State<TContext, TEvent>): Array<AnyStateNode>;
|
|
41
|
-
export declare function transitionAtomicNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: string, state: State<TContext, TEvent>,
|
|
42
|
-
export declare function transitionCompoundNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent>,
|
|
43
|
-
export declare function transitionParallelNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent>,
|
|
44
|
-
export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, state: State<TContext, TEvent, any>,
|
|
42
|
+
export declare function transitionAtomicNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: string, state: State<TContext, TEvent>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
43
|
+
export declare function transitionCompoundNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
44
|
+
export declare function transitionParallelNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
45
|
+
export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, state: State<TContext, TEvent, any>, event: TEvent): Array<TransitionDefinition<TContext, TEvent>> | undefined;
|
|
45
46
|
export declare function removeConflictingTransitions(enabledTransitions: Array<AnyTransitionDefinition>, configuration: Set<AnyStateNode>, historyValue: AnyHistoryValue): Array<AnyTransitionDefinition>;
|
|
46
47
|
/**
|
|
47
48
|
* https://www.w3.org/TR/scxml/#microstepProcedure
|
|
@@ -51,11 +52,11 @@ export declare function removeConflictingTransitions(enabledTransitions: Array<A
|
|
|
51
52
|
* @param currentState
|
|
52
53
|
* @param mutConfiguration
|
|
53
54
|
*/
|
|
54
|
-
export declare function microstep<TContext extends MachineContext, TEvent extends EventObject>(transitions: Array<TransitionDefinition<TContext, TEvent>>, currentState: State<TContext, TEvent, any>, actorCtx: AnyActorContext | undefined,
|
|
55
|
-
export declare function resolveActionsAndContext<TContext extends MachineContext, TEvent extends EventObject>(actions: BaseActionObject[],
|
|
55
|
+
export declare function microstep<TContext extends MachineContext, TEvent extends EventObject>(transitions: Array<TransitionDefinition<TContext, TEvent>>, currentState: State<TContext, TEvent, any>, actorCtx: AnyActorContext | undefined, event: TEvent): State<TContext, TEvent, any>;
|
|
56
|
+
export declare function resolveActionsAndContext<TContext extends MachineContext, TEvent extends EventObject>(actions: BaseActionObject[], event: TEvent, currentState: State<TContext, TEvent, any>, actorCtx: AnyActorContext | undefined): {
|
|
56
57
|
nextState: AnyState;
|
|
57
58
|
};
|
|
58
|
-
export declare function macrostep<TMachine extends AnyStateMachine>(state: StateFromMachine<TMachine>,
|
|
59
|
+
export declare function macrostep<TMachine extends AnyStateMachine>(state: StateFromMachine<TMachine>, event: TMachine['__TEvent'], actorCtx: AnyActorContext | undefined): {
|
|
59
60
|
state: typeof state;
|
|
60
61
|
microstates: Array<typeof state>;
|
|
61
62
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventObject, IndexByType, IsNever, Prop, Values, IsAny, ActorMap, Cast, ParameterizedObject } from './types.ts';
|
|
1
|
+
import { Compute, EventObject, IndexByType, IsNever, Prop, Values, IsAny, ActorMap, Cast, ParameterizedObject } from './types.ts';
|
|
2
2
|
export interface TypegenDisabled {
|
|
3
3
|
'@@xstate/typegen': false;
|
|
4
4
|
}
|
|
@@ -86,6 +86,12 @@ export type TypegenConstraint = TypegenEnabled | TypegenDisabled;
|
|
|
86
86
|
export type AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = IsAny<TResolvedTypesMeta> extends true ? true : TResolvedTypesMeta extends TypegenEnabled ? IsNever<Values<{
|
|
87
87
|
[K in keyof TMissingImplementations]: TMissingImplementations[K];
|
|
88
88
|
}>> extends true ? true : false : true;
|
|
89
|
+
export type MissingImplementationsError<TResolvedTypesMeta, TMissingImplementations = Prop<Prop<TResolvedTypesMeta, 'resolved'>, 'missingImplementations'>> = Compute<[
|
|
90
|
+
'Some implementations missing',
|
|
91
|
+
Values<{
|
|
92
|
+
[K in keyof TMissingImplementations]: TMissingImplementations[K];
|
|
93
|
+
}>
|
|
94
|
+
]>;
|
|
89
95
|
interface AllImplementationsProvided {
|
|
90
96
|
missingImplementations: {
|
|
91
97
|
actions: never;
|
|
@@ -121,11 +127,11 @@ export interface ResolveTypegenMeta<TTypesMeta extends TypegenConstraint, TEvent
|
|
|
121
127
|
disabled: TypegenDisabled & AllImplementationsProvided & AllowAllEvents & {
|
|
122
128
|
indexedActions: IndexByType<TAction>;
|
|
123
129
|
indexedEvents: Record<string, TEvent> & {
|
|
124
|
-
|
|
125
|
-
|
|
130
|
+
__XSTATE_ALLOW_ANY_INVOKE_OUTPUT_HACK__: {
|
|
131
|
+
output: any;
|
|
126
132
|
};
|
|
127
133
|
};
|
|
128
|
-
invokeSrcNameMap: Record<string, '
|
|
134
|
+
invokeSrcNameMap: Record<string, '__XSTATE_ALLOW_ANY_INVOKE_OUTPUT_HACK__'>;
|
|
129
135
|
};
|
|
130
136
|
}[IsNever<TTypesMeta> extends true ? 'disabled' : TTypesMeta extends TypegenEnabled ? 'enabled' : 'disabled'];
|
|
131
137
|
}
|