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.
Files changed (70) hide show
  1. package/actions/dist/xstate-actions.cjs.d.mts +2 -0
  2. package/actions/dist/xstate-actions.cjs.d.mts.map +1 -0
  3. package/actions/dist/xstate-actions.cjs.d.ts +1 -0
  4. package/actions/dist/xstate-actions.cjs.d.ts.map +1 -0
  5. package/actions/dist/xstate-actions.cjs.dev.js +2 -2
  6. package/actions/dist/xstate-actions.cjs.mjs +24 -0
  7. package/actions/dist/xstate-actions.cjs.prod.js +3 -3
  8. package/actions/dist/xstate-actions.esm.js +1 -1
  9. package/actions/dist/xstate-actions.umd.min.js +1 -1
  10. package/actions/dist/xstate-actions.umd.min.js.map +1 -1
  11. package/actors/dist/xstate-actors.cjs.d.mts +2 -0
  12. package/actors/dist/xstate-actors.cjs.d.mts.map +1 -0
  13. package/actors/dist/xstate-actors.cjs.d.ts +1 -0
  14. package/actors/dist/xstate-actors.cjs.d.ts.map +1 -0
  15. package/actors/dist/xstate-actors.cjs.dev.js +2 -1
  16. package/actors/dist/xstate-actors.cjs.mjs +15 -0
  17. package/actors/dist/xstate-actors.cjs.prod.js +3 -2
  18. package/actors/dist/xstate-actors.esm.js +1 -1
  19. package/actors/dist/xstate-actors.umd.min.js +1 -1
  20. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  21. package/dev/dist/xstate-dev.cjs.d.mts +2 -0
  22. package/dev/dist/xstate-dev.cjs.d.mts.map +1 -0
  23. package/dev/dist/xstate-dev.cjs.d.ts +1 -0
  24. package/dev/dist/xstate-dev.cjs.d.ts.map +1 -0
  25. package/dev/dist/xstate-dev.cjs.mjs +5 -0
  26. package/dev/dist/xstate-dev.cjs.prod.js +6 -43
  27. package/dev/dist/xstate-dev.umd.min.js.map +1 -1
  28. package/dist/{actions-96f799fc.cjs.dev.js → actions-109712d3.cjs.dev.js} +397 -379
  29. package/dist/{actions-7678b87b.esm.js → actions-67f1d04e.esm.js} +351 -366
  30. package/dist/{actions-2479953d.cjs.prod.js → actions-d0262a43.cjs.prod.js} +420 -388
  31. package/dist/declarations/src/State.d.ts +2 -3
  32. package/dist/declarations/src/StateMachine.d.ts +6 -6
  33. package/dist/declarations/src/StateNode.d.ts +5 -11
  34. package/dist/declarations/src/actions/send.d.ts +0 -7
  35. package/dist/declarations/src/actions.d.ts +13 -12
  36. package/dist/declarations/src/actors/index.d.ts +2 -1
  37. package/dist/declarations/src/actors/observable.d.ts +1 -2
  38. package/dist/declarations/src/actors/promise.d.ts +1 -2
  39. package/dist/declarations/src/guards.d.ts +2 -2
  40. package/dist/declarations/src/index.d.ts +13 -29
  41. package/dist/declarations/src/interpreter.d.ts +5 -4
  42. package/dist/declarations/src/spawn.d.ts +2 -2
  43. package/dist/declarations/src/stateUtils.d.ts +15 -14
  44. package/dist/declarations/src/typegenTypes.d.ts +10 -4
  45. package/dist/declarations/src/types.d.ts +27 -101
  46. package/dist/declarations/src/utils.d.ts +3 -5
  47. package/dist/declarations/src/waitFor.d.ts +33 -0
  48. package/dist/index-0f3fdf0c.cjs.prod.js +52 -0
  49. package/dist/xstate.cjs.d.mts +2 -0
  50. package/dist/xstate.cjs.d.mts.map +1 -0
  51. package/dist/xstate.cjs.d.ts +1 -0
  52. package/dist/xstate.cjs.d.ts.map +1 -0
  53. package/dist/xstate.cjs.dev.js +125 -111
  54. package/dist/xstate.cjs.mjs +38 -0
  55. package/dist/xstate.cjs.prod.js +123 -112
  56. package/dist/xstate.esm.js +108 -99
  57. package/dist/xstate.umd.min.js +1 -1
  58. package/dist/xstate.umd.min.js.map +1 -1
  59. package/guards/dist/xstate-guards.cjs.d.mts +2 -0
  60. package/guards/dist/xstate-guards.cjs.d.mts.map +1 -0
  61. package/guards/dist/xstate-guards.cjs.d.ts +1 -0
  62. package/guards/dist/xstate-guards.cjs.d.ts.map +1 -0
  63. package/guards/dist/xstate-guards.cjs.dev.js +1 -1
  64. package/guards/dist/xstate-guards.cjs.mjs +8 -0
  65. package/guards/dist/xstate-guards.cjs.prod.js +2 -2
  66. package/guards/dist/xstate-guards.esm.js +1 -1
  67. package/guards/dist/xstate-guards.umd.min.js +1 -1
  68. package/guards/dist/xstate-guards.umd.min.js.map +1 -1
  69. package/package.json +7 -1
  70. 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, SCXML, StateConfig, StateValue, TransitionDefinition } from './types.ts';
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<SCXML.Event<TEvent>>;
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, MachineSchema, NoInfer, SCXML, StateConfig, StateMachineDefinition, StateValue, TransitionDefinition, PersistedMachineState, ParameterizedObject, AnyActorContext } from './types.ts';
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 | SCXML.Event<TEvent>, State<TContext, TEvent, TResolvedTypesMeta>, State<TContext, TEvent, TResolvedTypesMeta>, PersistedMachineState<State<TContext, TEvent, TResolvedTypesMeta>>> {
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
- schema: MachineSchema<TContext, TEvent>;
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 | SCXML.Event<TEvent>, actorCtx?: ActorContext<TEvent, State<TContext, TEvent, any>>): State<TContext, TEvent, TResolvedTypesMeta>;
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 | SCXML.Event<TEvent>, actorCtx?: AnyActorContext | undefined): Array<State<TContext, TEvent, TResolvedTypesMeta>>;
71
- getTransitionData(state: State<TContext, TEvent, TResolvedTypesMeta>, _event: SCXML.Event<TEvent>): Array<TransitionDefinition<TContext, TEvent>>;
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, SCXML, TransitionDefinitionMap, InitialTransitionDefinition, MachineContext, BaseActionObject } from './types.ts';
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
- doneData?: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>;
70
+ output?: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>;
71
71
  /**
72
- * The order this state node appears. Corresponds to the implicit SCXML document order.
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, SCXML } from './types.ts';
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, respond, forwardTo, escalate } from './actions/send.ts';
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: SCXML.Event<{
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 data The data to pass into the event
31
+ * @param output The data to pass into the event
31
32
  */
32
- export declare function done(id: string, data?: any): DoneEventObject;
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 data The data to pass into the event
41
+ * @param output The data to pass into the event
41
42
  */
42
- export declare function doneInvoke(invokeId: string, data?: any): DoneEvent;
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): SCXML.Event<{
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
- canceled: boolean;
5
- status: 'active' | 'done' | 'error';
4
+ status: 'active' | 'done' | 'error' | 'canceled';
6
5
  data: T | undefined;
7
6
  input?: any;
8
7
  }
@@ -1,7 +1,6 @@
1
1
  import { ActorBehavior } from '../types';
2
2
  export interface PromiseInternalState<T> {
3
- status: 'active' | 'error' | 'done';
4
- canceled: boolean;
3
+ status: 'active' | 'error' | 'done' | 'canceled';
5
4
  data: T | undefined;
6
5
  input?: any;
7
6
  }
@@ -1,8 +1,8 @@
1
- import type { EventObject, StateValue, BooleanGuardDefinition, GuardConfig, GuardDefinition, SCXML, GuardPredicate, MachineContext } from './types.ts';
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, _event: SCXML.Event<TEvent>, state: State<TContext, TEvent>): boolean;
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 { after, done, doneInvoke, escalate, forwardTo, respond, sendParent, sendTo } from './actions.ts';
2
- import { assign } from './actions/assign.ts';
3
- import { cancel } from './actions/cancel.ts';
4
- import { choose } from './actions/choose.ts';
5
- import { log } from './actions/log.ts';
6
- import { pure } from './actions/pure.ts';
7
- import { raise } from './actions/raise.ts';
8
- import { send } from './actions/send.ts';
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, toSCXMLEvent } from './utils.ts';
22
- export { StateNode, State, mapState, actions, assign, send, sendTo, sendParent, forwardTo, interpret, Interpreter, ActorStatus as InterpreterStatus, doneInvoke, createMachine };
23
- declare const actions: {
24
- raise: typeof raise;
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, SCXML, SendActionObject, Subscription } from './types.ts';
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 | SCXML.Event<TEvent>): void;
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 : 'Some implementations missing', options?: InterpreterOptions<TMachine>): InterpreterFrom<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, SCXML } from './index.ts';
2
- export declare function createSpawner<TContext extends MachineContext, TEvent extends EventObject>(self: ActorRef<any, any> | undefined, machine: AnyStateMachine, context: TContext, _event: SCXML.Event<TEvent>, mutCapturedActions: InvokeActionObject[]): Spawner;
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, SCXML, StateValueMap, InitialTransitionConfig, MachineContext } from './types.ts';
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>, _event: SCXML.Event<TEvent>): Array<TransitionDefinition<TContext, TEvent>> | undefined;
42
- export declare function transitionCompoundNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent>, _event: SCXML.Event<TEvent>): Array<TransitionDefinition<TContext, TEvent>> | undefined;
43
- export declare function transitionParallelNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValueMap, state: State<TContext, TEvent>, _event: SCXML.Event<TEvent>): Array<TransitionDefinition<TContext, TEvent>> | undefined;
44
- export declare function transitionNode<TContext extends MachineContext, TEvent extends EventObject>(stateNode: AnyStateNode, stateValue: StateValue, state: State<TContext, TEvent, any>, _event: SCXML.Event<TEvent>): Array<TransitionDefinition<TContext, TEvent>> | undefined;
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, scxmlEvent: SCXML.Event<TEvent>): State<TContext, TEvent, any>;
55
- export declare function resolveActionsAndContext<TContext extends MachineContext, TEvent extends EventObject>(actions: BaseActionObject[], scxmlEvent: SCXML.Event<TEvent>, currentState: State<TContext, TEvent, any>, actorCtx: AnyActorContext | undefined): {
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>, scxmlEvent: SCXML.Event<TMachine['__TEvent']>, actorCtx: AnyActorContext | undefined): {
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
- __XSTATE_ALLOW_ANY_INVOKE_DATA_HACK__: {
125
- data: any;
130
+ __XSTATE_ALLOW_ANY_INVOKE_OUTPUT_HACK__: {
131
+ output: any;
126
132
  };
127
133
  };
128
- invokeSrcNameMap: Record<string, '__XSTATE_ALLOW_ANY_INVOKE_DATA_HACK__'>;
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
  }