xstate 4.26.0-pr2674-202191175724 → 4.26.0

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 (50) hide show
  1. package/CHANGELOG.md +29 -10
  2. package/dist/xstate.interpreter.js +1 -1
  3. package/dist/xstate.js +1 -1
  4. package/dist/xstate.web.js +2 -2
  5. package/es/Actor.d.ts +2 -1
  6. package/es/Machine.d.ts +4 -5
  7. package/es/State.d.ts +9 -11
  8. package/es/StateNode.d.ts +14 -15
  9. package/es/StateNode.js +6 -6
  10. package/es/actions.d.ts +5 -4
  11. package/es/behaviors.d.ts +1 -1
  12. package/es/devTools.d.ts +1 -1
  13. package/es/each.d.ts +1 -1
  14. package/es/index.d.ts +0 -1
  15. package/es/interpreter.d.ts +25 -35
  16. package/es/interpreter.js +2 -1
  17. package/es/model.d.ts +2 -2
  18. package/es/model.types.d.ts +9 -8
  19. package/es/scxml.d.ts +2 -2
  20. package/es/stateUtils.d.ts +6 -6
  21. package/es/stateUtils.js +7 -2
  22. package/es/types.d.ts +51 -58
  23. package/es/utils.d.ts +1 -1
  24. package/es/utils.js +1 -1
  25. package/lib/Actor.d.ts +2 -1
  26. package/lib/Machine.d.ts +4 -5
  27. package/lib/State.d.ts +9 -11
  28. package/lib/StateNode.d.ts +14 -15
  29. package/lib/StateNode.js +5 -5
  30. package/lib/actions.d.ts +5 -4
  31. package/lib/behaviors.d.ts +1 -1
  32. package/lib/devTools.d.ts +1 -1
  33. package/lib/each.d.ts +1 -1
  34. package/lib/index.d.ts +0 -1
  35. package/lib/interpreter.d.ts +25 -35
  36. package/lib/interpreter.js +2 -1
  37. package/lib/model.d.ts +2 -2
  38. package/lib/model.types.d.ts +9 -8
  39. package/lib/scxml.d.ts +2 -2
  40. package/lib/stateUtils.d.ts +6 -6
  41. package/lib/stateUtils.js +6 -0
  42. package/lib/types.d.ts +51 -58
  43. package/lib/utils.d.ts +1 -1
  44. package/lib/utils.js +1 -1
  45. package/package.json +2 -6
  46. package/dist/xstate.cjs.d.ts +0 -11
  47. package/dist/xstate.cjs.js +0 -16
  48. package/es/typegenTypes.d.ts +0 -78
  49. package/lib/typegenTypes.d.ts +0 -78
  50. package/lib/typegenTypes.js +0 -2
@@ -1,10 +1,9 @@
1
1
  import { StateMachine, Event, EventObject, DefaultContext, StateSchema, StateValue, InterpreterOptions, SingleOrArray, Subscribable, DoneEvent, MachineOptions, SCXML, EventData, Observer, Spawnable, Typestate, ActorRef, ActorRefFrom, Behavior, Subscription } from './types';
2
2
  import { State } from './State';
3
- import { AreAllImplementationsAssumedToBeProvided, TypegenDisabled } from './typegenTypes';
4
3
  export declare type StateListener<TContext, TEvent extends EventObject, TStateSchema extends StateSchema<TContext> = any, TTypestate extends Typestate<TContext> = {
5
4
  value: any;
6
5
  context: TContext;
7
- }, TResolvedTypesMeta = TypegenDisabled> = (state: State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>, event: TEvent) => void;
6
+ }> = (state: State<TContext, TEvent, TStateSchema, TTypestate>, event: TEvent) => void;
8
7
  export declare type ContextListener<TContext = DefaultContext> = (context: TContext, prevContext: TContext | undefined) => void;
9
8
  export declare type EventListener<TEvent extends EventObject = EventObject> = (event: TEvent) => void;
10
9
  export declare type Listener = () => void;
@@ -30,24 +29,15 @@ declare global {
30
29
  export declare class Interpreter<TContext, TStateSchema extends StateSchema = any, TEvent extends EventObject = EventObject, TTypestate extends Typestate<TContext> = {
31
30
  value: any;
32
31
  context: TContext;
33
- }, TResolvedTypesMeta = TypegenDisabled> implements ActorRef<TEvent, State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>> {
34
- machine: StateMachine<TContext, TStateSchema, TEvent, TTypestate, any, TResolvedTypesMeta>;
32
+ }> implements ActorRef<TEvent, State<TContext, TEvent, TStateSchema, TTypestate>> {
33
+ machine: StateMachine<TContext, TStateSchema, TEvent, TTypestate>;
35
34
  /**
36
35
  * The default interpreter options:
37
36
  *
38
37
  * - `clock` uses the global `setTimeout` and `clearTimeout` functions
39
38
  * - `logger` uses the global `console.log()` method
40
39
  */
41
- static defaultOptions: {
42
- execute: boolean;
43
- deferEvents: boolean;
44
- clock: {
45
- setTimeout: (fn: any, ms: any) => number;
46
- clearTimeout: (id: any) => void;
47
- };
48
- logger: any;
49
- devTools: boolean;
50
- };
40
+ static defaultOptions: InterpreterOptions;
51
41
  /**
52
42
  * The current state of the interpreted machine.
53
43
  */
@@ -87,9 +77,9 @@ export declare class Interpreter<TContext, TStateSchema extends StateSchema = an
87
77
  * @param machine The machine to be interpreted
88
78
  * @param options Interpreter options
89
79
  */
90
- constructor(machine: StateMachine<TContext, TStateSchema, TEvent, TTypestate, any, TResolvedTypesMeta>, options?: InterpreterOptions);
91
- get initialState(): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
92
- get state(): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
80
+ constructor(machine: StateMachine<TContext, TStateSchema, TEvent, TTypestate>, options?: Partial<InterpreterOptions>);
81
+ get initialState(): State<TContext, TEvent, TStateSchema, TTypestate>;
82
+ get state(): State<TContext, TEvent, TStateSchema, TTypestate>;
93
83
  static interpret: typeof interpret;
94
84
  /**
95
85
  * Executes the actions of the given state, with that state's `context` and `event`.
@@ -97,56 +87,56 @@ export declare class Interpreter<TContext, TStateSchema extends StateSchema = an
97
87
  * @param state The state whose actions will be executed
98
88
  * @param actionsConfig The action implementations to use
99
89
  */
100
- execute(state: State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>, actionsConfig?: MachineOptions<TContext, TEvent>['actions']): void;
90
+ execute(state: State<TContext, TEvent, TStateSchema, TTypestate>, actionsConfig?: MachineOptions<TContext, TEvent>['actions']): void;
101
91
  private update;
102
- onTransition(listener: StateListener<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>): this;
103
- subscribe(nextListener?: (state: State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>) => void, errorListener?: (error: any) => void, completeListener?: () => void): Subscription;
104
- subscribe(observer: Observer<State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>>): Subscription;
92
+ onTransition(listener: StateListener<TContext, TEvent, TStateSchema, TTypestate>): this;
93
+ subscribe(nextListener?: (state: State<TContext, TEvent, any, TTypestate>) => void, errorListener?: (error: any) => void, completeListener?: () => void): Subscription;
94
+ subscribe(observer: Observer<State<TContext, TEvent, any, TTypestate>>): Subscription;
105
95
  /**
106
96
  * Adds an event listener that is notified whenever an event is sent to the running interpreter.
107
97
  * @param listener The event listener
108
98
  */
109
- onEvent(listener: EventListener): this;
99
+ onEvent(listener: EventListener): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
110
100
  /**
111
101
  * Adds an event listener that is notified whenever a `send` event occurs.
112
102
  * @param listener The event listener
113
103
  */
114
- onSend(listener: EventListener): this;
104
+ onSend(listener: EventListener): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
115
105
  /**
116
106
  * Adds a context listener that is notified whenever the state context changes.
117
107
  * @param listener The context listener
118
108
  */
119
- onChange(listener: ContextListener<TContext>): this;
109
+ onChange(listener: ContextListener<TContext>): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
120
110
  /**
121
111
  * Adds a listener that is notified when the machine is stopped.
122
112
  * @param listener The listener
123
113
  */
124
- onStop(listener: Listener): this;
114
+ onStop(listener: Listener): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
125
115
  /**
126
116
  * Adds a state listener that is notified when the statechart has reached its final state.
127
117
  * @param listener The state listener
128
118
  */
129
- onDone(listener: EventListener<DoneEvent>): this;
119
+ onDone(listener: EventListener<DoneEvent>): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
130
120
  /**
131
121
  * Removes a listener.
132
122
  * @param listener The listener to remove
133
123
  */
134
- off(listener: (...args: any[]) => void): this;
124
+ off(listener: (...args: any[]) => void): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
135
125
  /**
136
126
  * Alias for Interpreter.prototype.start
137
127
  */
138
- init: (initialState?: StateValue | State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta> | undefined) => this;
128
+ init: (initialState?: StateValue | State<TContext, TEvent, TStateSchema, TTypestate> | undefined) => Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
139
129
  /**
140
130
  * Starts the interpreter from the given state, or the initial state.
141
131
  * @param initialState The state to start the statechart from
142
132
  */
143
- start(initialState?: State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta> | StateValue): this;
133
+ start(initialState?: State<TContext, TEvent, TStateSchema, TTypestate> | StateValue): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
144
134
  /**
145
135
  * Stops the interpreter and unsubscribe all listeners.
146
136
  *
147
137
  * This will also notify the `onStop` listeners.
148
138
  */
149
- stop(): this;
139
+ stop(): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
150
140
  /**
151
141
  * Sends an event to the running interpreter to trigger a transition.
152
142
  *
@@ -156,7 +146,7 @@ export declare class Interpreter<TContext, TStateSchema extends StateSchema = an
156
146
  *
157
147
  * @param event The event(s) to send
158
148
  */
159
- send: (event: SingleOrArray<Event<TEvent>> | SCXML.Event<TEvent>, payload?: EventData | undefined) => State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
149
+ send: (event: SingleOrArray<Event<TEvent>> | SCXML.Event<TEvent>, payload?: EventData | undefined) => State<TContext, TEvent, TStateSchema, TTypestate>;
160
150
  private batch;
161
151
  /**
162
152
  * Returns a send function bound to this interpreter instance.
@@ -172,7 +162,7 @@ export declare class Interpreter<TContext, TStateSchema extends StateSchema = an
172
162
  *
173
163
  * @param event The event to determine the next state
174
164
  */
175
- nextState(event: Event<TEvent> | SCXML.Event<TEvent>): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
165
+ nextState(event: Event<TEvent> | SCXML.Event<TEvent>): State<TContext, TEvent, TStateSchema, TTypestate>;
176
166
  private forward;
177
167
  private defer;
178
168
  private cancel;
@@ -196,8 +186,8 @@ export declare class Interpreter<TContext, TStateSchema extends StateSchema = an
196
186
  toJSON(): {
197
187
  id: string;
198
188
  };
199
- [Symbol.observable](): Subscribable<State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>>;
200
- getSnapshot(): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
189
+ [Symbol.observable](): Subscribable<State<TContext, TEvent, TStateSchema, TTypestate>>;
190
+ getSnapshot(): State<TContext, TEvent, TStateSchema, TTypestate>;
201
191
  }
202
192
  export declare function spawn<T extends Behavior<any, any>>(entity: T, nameOrOptions?: string | SpawnOptions): ActorRefFrom<T>;
203
193
  export declare function spawn<TC, TE extends EventObject>(entity: StateMachine<TC, any, TE>, nameOrOptions?: string | SpawnOptions): ActorRefFrom<StateMachine<TC, any, TE>>;
@@ -211,6 +201,6 @@ export declare function spawn(entity: Spawnable, nameOrOptions?: string | SpawnO
211
201
  export declare function interpret<TContext = DefaultContext, TStateSchema extends StateSchema = any, TEvent extends EventObject = EventObject, TTypestate extends Typestate<TContext> = {
212
202
  value: any;
213
203
  context: TContext;
214
- }, TResolvedTypesMeta = TypegenDisabled>(machine: AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends true ? StateMachine<TContext, TStateSchema, TEvent, TTypestate, any, TResolvedTypesMeta> : 'Some implementations missing', options?: InterpreterOptions): Interpreter<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta>;
204
+ }>(machine: StateMachine<TContext, TStateSchema, TEvent, TTypestate>, options?: Partial<InterpreterOptions>): Interpreter<TContext, TStateSchema, TEvent, TTypestate>;
215
205
  export {};
216
206
  //# sourceMappingURL=interpreter.d.ts.map
package/es/interpreter.js CHANGED
@@ -840,7 +840,8 @@ function () {
840
840
 
841
841
  var source = isFunction(serviceCreator) ? serviceCreator(context, _event.data, {
842
842
  data: resolvedData,
843
- src: invokeSource
843
+ src: invokeSource,
844
+ meta: activity.meta
844
845
  }) : serviceCreator;
845
846
 
846
847
  if (!source) {
package/es/model.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { Cast, EventObject, BaseActionObject, Prop, IsNever } from './types';
2
- import { UnionFromCreatorsReturnTypes, FinalModelCreators, Model, ModelCreators } from './model.types';
1
+ import type { EventObject, BaseActionObject } from './types';
2
+ import { Cast, UnionFromCreatorsReturnTypes, FinalModelCreators, Model, ModelCreators, Prop, IsNever } from './model.types';
3
3
  export declare function createModel<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject>(initialContext: TContext): Model<TContext, TEvent, TAction, void>;
4
4
  export declare function createModel<TContext, TModelCreators extends ModelCreators<TModelCreators>, TFinalModelCreators = FinalModelCreators<TModelCreators>, TComputedEvent = UnionFromCreatorsReturnTypes<Prop<TFinalModelCreators, 'events'>>, TComputedAction = UnionFromCreatorsReturnTypes<Prop<TFinalModelCreators, 'actions'>>>(initialContext: TContext, creators: TModelCreators): Model<TContext, Cast<TComputedEvent, EventObject>, IsNever<TComputedAction> extends true ? BaseActionObject : Cast<TComputedAction, BaseActionObject>, TFinalModelCreators>;
5
5
  //# sourceMappingURL=model.d.ts.map
@@ -1,17 +1,18 @@
1
- import { AnyFunction, AssignAction, Assigner, BaseActionObject, Compute, EventObject, ExtractEvent, MachineConfig, Prop, PropertyAssigner, StateMachine } from './types';
2
- import { MaybeTypegenMachineOptions, ResolveTypegenMeta, TypegenConstraint, TypegenDisabled } from './typegenTypes';
1
+ import { EventObject, Assigner, ExtractEvent, PropertyAssigner, AssignAction, MachineConfig, MachineOptions, StateMachine, BaseActionObject } from './types';
2
+ export declare type AnyFunction = (...args: any[]) => any;
3
+ export declare type IsNever<T> = [T] extends [never] ? true : false;
4
+ export declare type Cast<T extends any, TCastType extends any> = T extends TCastType ? T : TCastType;
5
+ export declare type Compute<A extends any> = {
6
+ [K in keyof A]: A[K];
7
+ } & unknown;
8
+ export declare type Prop<T, K> = K extends keyof T ? T[K] : never;
3
9
  export interface Model<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TModelCreators = void> {
4
10
  initialContext: TContext;
5
11
  assign: <TEventType extends TEvent['type'] = TEvent['type']>(assigner: Assigner<TContext, ExtractEvent<TEvent, TEventType>> | PropertyAssigner<TContext, ExtractEvent<TEvent, TEventType>>, eventType?: TEventType) => AssignAction<TContext, ExtractEvent<TEvent, TEventType>>;
6
12
  events: Prop<TModelCreators, 'events'>;
7
13
  actions: Prop<TModelCreators, 'actions'>;
8
14
  reset: () => AssignAction<TContext, any>;
9
- createMachine: {
10
- <TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, any, TEvent, TAction, TTypesMeta>, implementations?: MaybeTypegenMachineOptions<TContext, TEvent, TAction, ResolveTypegenMeta<TTypesMeta, TEvent, TAction>>): StateMachine<TContext, any, TEvent, {
11
- value: any;
12
- context: TContext;
13
- }, TAction, ResolveTypegenMeta<TTypesMeta, TEvent, TAction>>;
14
- };
15
+ createMachine: (config: MachineConfig<TContext, any, TEvent, TAction>, implementations?: Partial<MachineOptions<TContext, TEvent, TAction>>) => StateMachine<TContext, any, TEvent>;
15
16
  }
16
17
  export declare type ModelContextFrom<TModel extends Model<any, any, any, any>> = TModel extends Model<infer TContext, any, any, any> ? TContext : never;
17
18
  export declare type ModelEventsFrom<TModel extends Model<any, any, any, any> | undefined> = TModel extends Model<any, infer TEvent, any, any> ? TEvent : EventObject;
package/es/scxml.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { StateMachine } from './index';
1
+ import { StateNode } from './index';
2
2
  export interface ScxmlToMachineOptions {
3
3
  delimiter?: string;
4
4
  }
5
- export declare function toMachine(xml: string, options: ScxmlToMachineOptions): StateMachine<any, any, any>;
5
+ export declare function toMachine(xml: string, options: ScxmlToMachineOptions): StateNode;
6
6
  //# sourceMappingURL=scxml.d.ts.map
@@ -1,16 +1,16 @@
1
- import { EventObject, StateValue } from './types';
2
- import { StateNode } from './StateNode';
1
+ import { EventObject, StateNode, StateValue } from '.';
3
2
  declare type Configuration<TC, TE extends EventObject> = Iterable<StateNode<TC, any, TE>>;
4
3
  declare type AdjList<TC, TE extends EventObject> = Map<StateNode<TC, any, TE>, Array<StateNode<TC, any, TE>>>;
5
- export declare const isLeafNode: (stateNode: StateNode<any, any, any, any, any>) => boolean;
4
+ export declare const isLeafNode: (stateNode: StateNode<any, any, any, any>) => boolean;
6
5
  export declare function getChildren<TC, TE extends EventObject>(stateNode: StateNode<TC, any, TE>): Array<StateNode<TC, any, TE>>;
7
- export declare function getAllStateNodes<TC, TE extends EventObject>(stateNode: StateNode<TC, any, TE, any, any>): Array<StateNode<TC, any, TE, any, any>>;
8
- export declare function getConfiguration<TC, TE extends EventObject>(prevStateNodes: Iterable<StateNode<TC, any, TE, any, any>>, stateNodes: Iterable<StateNode<TC, any, TE, any, any>>): Iterable<StateNode<TC, any, TE, any, any>>;
6
+ export declare function getAllStateNodes<TC, TE extends EventObject>(stateNode: StateNode<TC, any, TE, any>): Array<StateNode<TC, any, TE, any>>;
7
+ export declare function getConfiguration<TC, TE extends EventObject>(prevStateNodes: Iterable<StateNode<TC, any, TE, any>>, stateNodes: Iterable<StateNode<TC, any, TE, any>>): Iterable<StateNode<TC, any, TE, any>>;
9
8
  export declare function getAdjList<TC, TE extends EventObject>(configuration: Configuration<TC, TE>): AdjList<TC, TE>;
10
9
  export declare function getValue<TC, TE extends EventObject>(rootNode: StateNode<TC, any, TE, any>, configuration: Configuration<TC, TE>): StateValue;
11
10
  export declare function has<T>(iterable: Iterable<T>, item: T): boolean;
12
11
  export declare function nextEvents<TC, TE extends EventObject>(configuration: Array<StateNode<TC, any, TE>>): Array<TE['type']>;
13
- export declare function isInFinalState<TC, TE extends EventObject>(configuration: Array<StateNode<TC, any, TE, any, any>>, stateNode: StateNode<TC, any, TE, any, any>): boolean;
12
+ export declare function isInFinalState<TC, TE extends EventObject>(configuration: Array<StateNode<TC, any, TE, any>>, stateNode: StateNode<TC, any, TE, any>): boolean;
14
13
  export declare function getMeta(configuration?: StateNode[]): Record<string, any>;
14
+ export declare function getTagsFromConfiguration(configuration: StateNode<any, any, any, any>[]): Set<string>;
15
15
  export {};
16
16
  //# sourceMappingURL=stateUtils.d.ts.map
package/es/stateUtils.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { __values, __spreadArray, __read } from './_virtual/_tslib.js';
2
- import { keys, flatten } from './utils.js';
2
+ import { flatten, keys } from './utils.js';
3
3
 
4
4
  var isLeafNode = function (stateNode) {
5
5
  return stateNode.type === 'atomic' || stateNode.type === 'final';
@@ -252,5 +252,10 @@ function getMeta(configuration) {
252
252
  return acc;
253
253
  }, {});
254
254
  }
255
+ function getTagsFromConfiguration(configuration) {
256
+ return new Set(flatten(configuration.map(function (sn) {
257
+ return sn.tags;
258
+ })));
259
+ }
255
260
 
256
- export { getAdjList, getAllStateNodes, getChildren, getConfiguration, getMeta, getValue, has, isInFinalState, isLeafNode, nextEvents };
261
+ export { getAdjList, getAllStateNodes, getChildren, getConfiguration, getMeta, getTagsFromConfiguration, getValue, has, isInFinalState, isLeafNode, nextEvents };
package/es/types.d.ts CHANGED
@@ -1,25 +1,9 @@
1
- import { Clock, Interpreter } from './interpreter';
2
- import { Model } from './model.types';
3
- import { State } from './State';
4
1
  import { StateNode } from './StateNode';
5
- import { MarkAllImplementationsAsProvided, MaybeTypegenMachineOptions, TypegenDisabled } from './typegenTypes';
6
- export declare type AnyFunction = (...args: any[]) => any;
2
+ import { State } from './State';
3
+ import { Interpreter, Clock } from './interpreter';
4
+ import { IsNever, Model, Prop } from './model.types';
5
+ declare type AnyFunction = (...args: any[]) => any;
7
6
  declare type ReturnTypeOrValue<T> = T extends AnyFunction ? ReturnType<T> : T;
8
- export declare type IsNever<T> = [T] extends [never] ? true : false;
9
- export declare type Cast<T extends any, TCastType extends any> = T extends TCastType ? T : TCastType;
10
- export declare type Compute<A extends any> = {
11
- [K in keyof A]: A[K];
12
- } & unknown;
13
- export declare type Prop<T, K> = K extends keyof T ? T[K] : never;
14
- export declare type Values<T> = T[keyof T];
15
- export declare type Merge<M, N> = Omit<M, keyof N> & N;
16
- export declare type IndexByType<T extends {
17
- type: string;
18
- }> = {
19
- [K in T['type']]: Extract<T, {
20
- type: K;
21
- }>;
22
- };
23
7
  export declare type EventType = string;
24
8
  export declare type ActionType = string;
25
9
  export declare type MetaObject = Record<string, any>;
@@ -60,7 +44,7 @@ export declare type EventData = Record<string, any> & {
60
44
  * The specified string event types or the specified event objects.
61
45
  */
62
46
  export declare type Event<TEvent extends EventObject> = TEvent['type'] | TEvent;
63
- export interface ActionMeta<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> extends StateMeta<TContext, TEvent> {
47
+ export interface ActionMeta<TContext, TEvent extends EventObject, TAction extends ActionObject<TContext, TEvent> = ActionObject<TContext, TEvent>> extends StateMeta<TContext, TEvent> {
64
48
  action: TAction;
65
49
  _event: SCXML.Event<TEvent>;
66
50
  }
@@ -69,8 +53,8 @@ export interface AssignMeta<TContext, TEvent extends EventObject> {
69
53
  action: AssignAction<TContext, TEvent>;
70
54
  _event: SCXML.Event<TEvent>;
71
55
  }
72
- export declare type ActionFunction<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> = (context: TContext, event: TEvent, meta: ActionMeta<TContext, TEvent, TAction>) => void;
73
- export interface ChooseConditon<TContext, TEvent extends EventObject> {
56
+ export declare type ActionFunction<TContext, TEvent extends EventObject, TAction extends ActionObject<TContext, TEvent> = ActionObject<TContext, TEvent>> = (context: TContext, event: TEvent, meta: ActionMeta<TContext, TEvent, TAction>) => void;
57
+ export interface ChooseCondition<TContext, TEvent extends EventObject> {
74
58
  cond?: Condition<TContext, TEvent>;
75
59
  actions: Actions<TContext, TEvent>;
76
60
  }
@@ -174,6 +158,7 @@ export declare type InvokeCallback<TEvent extends EventObject = AnyEventObject,
174
158
  export interface InvokeMeta {
175
159
  data: any;
176
160
  src: InvokeSourceDefinition;
161
+ meta?: MetaObject;
177
162
  }
178
163
  /**
179
164
  * Returns either a Promises or a callback handler (for streams of events) given the
@@ -213,6 +198,7 @@ export interface InvokeDefinition<TContext, TEvent extends EventObject> extends
213
198
  * Data should be mapped to match the child machine's context shape.
214
199
  */
215
200
  data?: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>;
201
+ meta?: MetaObject;
216
202
  }
217
203
  export interface Delay {
218
204
  id: string;
@@ -295,6 +281,10 @@ export interface InvokeConfig<TContext, TEvent extends EventObject> {
295
281
  * The transition to take upon the invoked child machine sending an error event.
296
282
  */
297
283
  onError?: string | SingleOrArray<TransitionConfig<TContext, DoneInvokeEvent<any>>>;
284
+ /**
285
+ * Meta data related to this invocation
286
+ */
287
+ meta?: MetaObject;
298
288
  }
299
289
  export interface StateNodeConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> {
300
290
  /**
@@ -450,6 +440,7 @@ export interface StateNodeDefinition<TContext, TStateSchema extends StateSchema,
450
440
  data?: FinalStateNodeConfig<TContext, TEvent>['data'];
451
441
  invoke: Array<InvokeDefinition<TContext, TEvent>>;
452
442
  description?: string;
443
+ tags: string[];
453
444
  }
454
445
  export declare type AnyStateNodeDefinition = StateNodeDefinition<any, any, any>;
455
446
  export interface AtomicStateNodeConfig<TContext, TEvent extends EventObject> extends StateNodeConfig<TContext, StateSchema, TEvent> {
@@ -471,7 +462,7 @@ export interface FinalStateNodeConfig<TContext, TEvent extends EventObject> exte
471
462
  data?: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>;
472
463
  }
473
464
  export declare type SimpleOrStateNodeConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject> = AtomicStateNodeConfig<TContext, TEvent> | StateNodeConfig<TContext, TStateSchema, TEvent>;
474
- export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> = {
465
+ export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAction extends ActionObject<TContext, TEvent> = ActionObject<TContext, TEvent>> = {
475
466
  [K in TAction['type']]?: ActionObject<TContext, TEvent> | ActionFunction<TContext, TEvent, TAction extends {
476
467
  type: K;
477
468
  } ? TAction : never>;
@@ -479,25 +470,25 @@ export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAct
479
470
  export declare type DelayFunctionMap<TContext, TEvent extends EventObject> = Record<string, DelayConfig<TContext, TEvent>>;
480
471
  export declare type ServiceConfig<TContext, TEvent extends EventObject = AnyEventObject> = string | StateMachine<any, any, any> | InvokeCreator<TContext, TEvent>;
481
472
  export declare type DelayConfig<TContext, TEvent extends EventObject> = number | DelayExpr<TContext, TEvent>;
482
- export interface MachineOptions<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject> {
483
- guards?: Record<string, ConditionPredicate<TContext, TEvent>>;
484
- actions?: ActionFunctionMap<TContext, TEvent, TAction>;
473
+ export interface MachineOptions<TContext, TEvent extends EventObject, TAction extends ActionObject<TContext, TEvent> = ActionObject<TContext, TEvent>> {
474
+ guards: Record<string, ConditionPredicate<TContext, TEvent>>;
475
+ actions: ActionFunctionMap<TContext, TEvent, TAction>;
485
476
  /**
486
477
  * @deprecated Use `services` instead.
487
478
  */
488
- activities?: Record<string, ActivityConfig<TContext, TEvent>>;
489
- services?: Record<string, ServiceConfig<TContext, TEvent>>;
490
- delays?: DelayFunctionMap<TContext, TEvent>;
479
+ activities: Record<string, ActivityConfig<TContext, TEvent>>;
480
+ services: Record<string, ServiceConfig<TContext, TEvent>>;
481
+ delays: DelayFunctionMap<TContext, TEvent>;
491
482
  /**
492
483
  * @private
493
484
  */
494
- _parent?: StateNode<TContext, any, TEvent, any, any>;
485
+ _parent?: StateNode<TContext, any, TEvent, any>;
495
486
  /**
496
487
  * @private
497
488
  */
498
489
  _key?: string;
499
490
  }
500
- export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TTypesMeta = TypegenDisabled> extends StateNodeConfig<TContext, TStateSchema, TEvent, TAction> {
491
+ export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = ActionObject<TContext, TEvent>> extends StateNodeConfig<TContext, TStateSchema, TEvent, TAction> {
501
492
  /**
502
493
  * The initial context (extended state)
503
494
  */
@@ -507,7 +498,6 @@ export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEven
507
498
  */
508
499
  version?: string;
509
500
  schema?: MachineSchema<TContext, TEvent>;
510
- tsTypes?: TTypesMeta | true;
511
501
  }
512
502
  export interface MachineSchema<TContext, TEvent extends EventObject> {
513
503
  context?: TContext;
@@ -542,13 +532,13 @@ export interface HistoryStateNode<TContext> extends StateNode<TContext> {
542
532
  export interface StateMachine<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TTypestate extends Typestate<TContext> = {
543
533
  value: any;
544
534
  context: TContext;
545
- }, TAction extends BaseActionObject = BaseActionObject, TResolvedTypesMeta = TypegenDisabled> extends StateNode<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> {
535
+ }, _TAction extends ActionObject<TContext, TEvent> = ActionObject<TContext, TEvent>> extends StateNode<TContext, TStateSchema, TEvent, TTypestate> {
546
536
  id: string;
547
- states: StateNode<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta>['states'];
548
- withConfig(options: MaybeTypegenMachineOptions<TContext, TEvent, TAction, TResolvedTypesMeta, true>, context?: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate, TAction, MarkAllImplementationsAsProvided<TResolvedTypesMeta>>;
549
- withContext(context: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate, any, TResolvedTypesMeta>;
537
+ states: StateNode<TContext, TStateSchema, TEvent>['states'];
538
+ withConfig(options: Partial<MachineOptions<TContext, TEvent>>, context?: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate>;
539
+ withContext(context: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate>;
550
540
  }
551
- export declare type StateFrom<T extends StateMachine<any, any, any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any, any, any>)> = T extends StateMachine<any, any, any, any, any, any> ? ReturnType<T['transition']> : T extends (...args: any[]) => StateMachine<any, any, any, any, any, any> ? ReturnType<ReturnType<T>['transition']> : never;
541
+ export declare type StateFrom<T extends StateMachine<any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any>)> = T extends StateMachine<any, any, any> ? ReturnType<T['transition']> : T extends (...args: any[]) => StateMachine<any, any, any> ? ReturnType<ReturnType<T>['transition']> : never;
552
542
  export interface ActionMap<TContext, TEvent extends EventObject> {
553
543
  onEntry: Array<Action<TContext, TEvent>>;
554
544
  actions: Array<Action<TContext, TEvent>>;
@@ -567,13 +557,13 @@ export interface ActivityMap {
567
557
  }
568
558
  export interface StateTransition<TContext, TEvent extends EventObject> {
569
559
  transitions: Array<TransitionDefinition<TContext, TEvent>>;
570
- configuration: Array<StateNode<TContext, any, TEvent, any, any>>;
571
- entrySet: Array<StateNode<TContext, any, TEvent, any, any>>;
572
- exitSet: Array<StateNode<TContext, any, TEvent, any, any>>;
560
+ configuration: Array<StateNode<TContext, any, TEvent, any>>;
561
+ entrySet: Array<StateNode<TContext, any, TEvent, any>>;
562
+ exitSet: Array<StateNode<TContext, any, TEvent, any>>;
573
563
  /**
574
564
  * The source state that preceded the transition.
575
565
  */
576
- source: State<TContext, any, any, any, any> | undefined;
566
+ source: State<TContext, any, any, any> | undefined;
577
567
  actions: Array<ActionObject<TContext, TEvent>>;
578
568
  }
579
569
  export interface TransitionData<TContext, TEvent extends EventObject> {
@@ -716,7 +706,7 @@ export interface PureAction<TContext, TEvent extends EventObject> extends Action
716
706
  }
717
707
  export interface ChooseAction<TContext, TEvent extends EventObject> extends ActionObject<TContext, TEvent> {
718
708
  type: ActionTypes.Choose;
719
- conds: Array<ChooseConditon<TContext, TEvent>>;
709
+ conds: Array<ChooseCondition<TContext, TEvent>>;
720
710
  }
721
711
  export interface TransitionDefinition<TContext, TEvent extends EventObject> extends TransitionConfig<TContext, TEvent> {
722
712
  target: Array<StateNode<TContext, any, TEvent>> | undefined;
@@ -794,7 +784,7 @@ export interface SCXMLEventMeta<TEvent extends EventObject> {
794
784
  _event: SCXML.Event<TEvent>;
795
785
  }
796
786
  export interface StateMeta<TContext, TEvent extends EventObject> {
797
- state: State<TContext, TEvent, any, any, any>;
787
+ state: State<TContext, TEvent, any, any>;
798
788
  _event: SCXML.Event<TEvent>;
799
789
  }
800
790
  export interface Typestate<TContext> {
@@ -813,7 +803,7 @@ export interface StateConfig<TContext, TEvent extends EventObject> {
813
803
  _event: SCXML.Event<TEvent>;
814
804
  _sessionid: string | null;
815
805
  historyValue?: HistoryValue | undefined;
816
- history?: State<TContext, TEvent, any, any, any>;
806
+ history?: State<TContext, TEvent>;
817
807
  actions?: Array<ActionObject<TContext, TEvent>>;
818
808
  /**
819
809
  * @deprecated
@@ -826,7 +816,7 @@ export interface StateConfig<TContext, TEvent extends EventObject> {
826
816
  children: Record<string, ActorRef<any>>;
827
817
  done?: boolean;
828
818
  tags?: Set<string>;
829
- machine?: StateMachine<TContext, any, TEvent, any, any, any>;
819
+ machine?: StateMachine<TContext, any, TEvent, any>;
830
820
  }
831
821
  export interface StateSchema<TC = any> {
832
822
  meta?: any;
@@ -839,9 +829,9 @@ export interface InterpreterOptions {
839
829
  /**
840
830
  * Whether state actions should be executed immediately upon transition. Defaults to `true`.
841
831
  */
842
- execute?: boolean;
843
- clock?: Clock;
844
- logger?: (...args: any[]) => void;
832
+ execute: boolean;
833
+ clock: Clock;
834
+ logger: (...args: any[]) => void;
845
835
  parent?: AnyInterpreter;
846
836
  /**
847
837
  * If `true`, defers processing of sent events until the service
@@ -850,7 +840,7 @@ export interface InterpreterOptions {
850
840
  *
851
841
  * Default: `true`
852
842
  */
853
- deferEvents?: boolean;
843
+ deferEvents: boolean;
854
844
  /**
855
845
  * The custom `id` for referencing this service.
856
846
  */
@@ -860,7 +850,8 @@ export interface InterpreterOptions {
860
850
  *
861
851
  * Default: `false`
862
852
  */
863
- devTools?: boolean | object;
853
+ devTools: boolean | object;
854
+ [option: string]: any;
864
855
  }
865
856
  export declare namespace SCXML {
866
857
  interface Event<TEvent extends EventObject> {
@@ -954,16 +945,15 @@ export interface ActorRef<TEvent extends EventObject, TEmitted = any> extends Su
954
945
  * @deprecated Use `ActorRef` instead.
955
946
  */
956
947
  export declare type SpawnedActorRef<TEvent extends EventObject, TEmitted = any> = ActorRef<TEvent, TEmitted>;
957
- export declare type ActorRefWithDeprecatedState<TContext, TEvent extends EventObject, TTypestate extends Typestate<TContext>, TResolvedTypesMeta = TypegenDisabled> = ActorRef<TEvent, State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>> & {
948
+ export declare type ActorRefWithDeprecatedState<TContext, TEvent extends EventObject, TTypestate extends Typestate<TContext>> = ActorRef<TEvent, State<TContext, TEvent, any, TTypestate>> & {
958
949
  /**
959
950
  * @deprecated Use `.getSnapshot()` instead.
960
951
  */
961
- state: State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>;
952
+ state: State<TContext, TEvent, any, TTypestate>;
962
953
  };
963
- export declare type ActorRefFrom<T> = T extends StateMachine<infer TContext, any, infer TEvent, infer TTypestate> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate> : T extends (...args: any[]) => StateMachine<infer TContext, any, infer TEvent, infer TTypestate, any, infer TResolvedTypesMeta> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate, TResolvedTypesMeta> : T extends Promise<infer U> ? ActorRef<never, U> : T extends Behavior<infer TEvent1, infer TEmitted> ? ActorRef<TEvent1, TEmitted> : T extends (...args: any[]) => Behavior<infer TEvent1, infer TEmitted> ? ActorRef<TEvent1, TEmitted> : never;
964
- export declare type AnyInterpreter = Interpreter<any, any, any, any, any>;
965
- export declare type InterpreterFrom<T extends StateMachine<any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any>)> = T extends StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate, any, infer TResolvedTypesMeta> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> : T extends (...args: any[]) => StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate, any, infer TResolvedTypesMeta> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> : never;
966
- export declare type MachineOptionsFrom<T extends StateMachine<any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any>), TRequireMissingImplementations extends boolean = false> = T extends StateMachine<infer TContext, any, infer TEvent, any, any, infer TResolvedTypesMeta> ? MaybeTypegenMachineOptions<TContext, TEvent, any, TResolvedTypesMeta, TRequireMissingImplementations> : T extends (...args: any[]) => StateMachine<infer TContext, any, infer TEvent, any, any, infer TResolvedTypesMeta> ? MaybeTypegenMachineOptions<TContext, TEvent, any, TResolvedTypesMeta, TRequireMissingImplementations> : never;
954
+ export declare type ActorRefFrom<T> = T extends StateMachine<infer TContext, any, infer TEvent, infer TTypestate> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate> : T extends (...args: any[]) => StateMachine<infer TContext, any, infer TEvent, infer TTypestate> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate> : T extends Promise<infer U> ? ActorRef<never, U> : T extends Behavior<infer TEvent1, infer TEmitted> ? ActorRef<TEvent1, TEmitted> : T extends (...args: any[]) => Behavior<infer TEvent1, infer TEmitted> ? ActorRef<TEvent1, TEmitted> : never;
955
+ export declare type AnyInterpreter = Interpreter<any, any, any, any>;
956
+ export declare type InterpreterFrom<T extends StateMachine<any, any, any, any> | ((...args: any[]) => StateMachine<any, any, any, any>)> = T extends StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate> : T extends (...args: any[]) => StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate> : never;
967
957
  export interface ActorContext<TEvent extends EventObject, TEmitted> {
968
958
  parent?: ActorRef<any, any>;
969
959
  self: ActorRef<TEvent, TEmitted>;
@@ -976,7 +966,10 @@ export interface Behavior<TEvent extends EventObject, TEmitted = any> {
976
966
  start?: (actorCtx: ActorContext<TEvent, TEmitted>) => TEmitted;
977
967
  }
978
968
  export declare type EmittedFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends ActorRef<infer _, infer TEmitted> ? TEmitted : R extends Behavior<infer _, infer TEmitted> ? TEmitted : R extends ActorContext<infer _, infer TEmitted> ? TEmitted : never : never;
979
- export declare type EventFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _, infer __, infer TEvent, infer ____> ? TEvent : R extends Model<infer _, infer TEvent, infer ___, infer ____> ? TEvent : R extends State<infer _, infer TEvent, infer ___, infer ____> ? TEvent : R extends Interpreter<infer _, infer __, infer TEvent, infer ____> ? TEvent : never : never;
969
+ declare type ResolveEventType<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer _, infer __, infer TEvent, infer ____> ? TEvent : R extends Model<infer _, infer TEvent, infer ___, infer ____> ? TEvent : R extends State<infer _, infer TEvent, infer ___, infer ____> ? TEvent : R extends Interpreter<infer _, infer __, infer TEvent, infer ____> ? TEvent : never : never;
970
+ export declare type EventFrom<T, K extends Prop<TEvent, 'type'> = never, TEvent = ResolveEventType<T>> = IsNever<K> extends true ? TEvent : Extract<TEvent, {
971
+ type: K;
972
+ }>;
980
973
  export declare type ContextFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, infer _, infer __, infer ___> ? TContext : R extends Model<infer TContext, infer _, infer __, infer ___> ? TContext : R extends State<infer TContext, infer _, infer __, infer ___> ? TContext : R extends Interpreter<infer TContext, infer _, infer __, infer ___> ? TContext : never : never;
981
974
  export {};
982
975
  //# sourceMappingURL=types.d.ts.map
package/es/utils.d.ts CHANGED
@@ -63,7 +63,7 @@ export declare function toTransitionConfigArray<TContext, TEvent extends EventOb
63
63
  }>;
64
64
  export declare function normalizeTarget<TContext, TEvent extends EventObject>(target: SingleOrArray<string | StateNode<TContext, any, TEvent>> | undefined): Array<string | StateNode<TContext, any, TEvent>> | undefined;
65
65
  export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
66
- export declare function evaluateGuard<TContext, TEvent extends EventObject>(machine: StateNode<TContext, any, TEvent, any, any>, guard: Guard<TContext, TEvent>, context: TContext, _event: SCXML.Event<TEvent>, state: State<TContext, TEvent>): boolean;
66
+ export declare function evaluateGuard<TContext, TEvent extends EventObject>(machine: StateNode<TContext, any, TEvent, any>, guard: Guard<TContext, TEvent>, context: TContext, _event: SCXML.Event<TEvent>, state: State<TContext, TEvent>): boolean;
67
67
  export declare function toInvokeSource(src: string | InvokeSourceDefinition): InvokeSourceDefinition;
68
68
  export declare function toObserver<T>(nextHandler: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
69
69
  //# sourceMappingURL=utils.d.ts.map
package/es/utils.js CHANGED
@@ -548,7 +548,7 @@ function evaluateGuard(machine, guard, context, _event, state) {
548
548
  return ((guards === null || guards === void 0 ? void 0 : guards[guard.name]) || guard.predicate)(context, _event.data, guardMeta);
549
549
  }
550
550
 
551
- var condFn = guards === null || guards === void 0 ? void 0 : guards[guard.type];
551
+ var condFn = guards[guard.type];
552
552
 
553
553
  if (!condFn) {
554
554
  throw new Error("Guard '" + guard.type + "' is not implemented on machine '" + machine.id + "'.");
package/lib/Actor.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { EventObject, Subscribable, InvokeDefinition, AnyEventObject, StateMachine, Spawnable, SCXML, ActorRef, BaseActorRef } from './types';
1
+ import { EventObject, Subscribable, InvokeDefinition, AnyEventObject, StateMachine, Spawnable, SCXML } from './types';
2
+ import { ActorRef, BaseActorRef } from '.';
2
3
  export interface Actor<TContext = any, TEvent extends EventObject = AnyEventObject> extends Subscribable<TContext> {
3
4
  id: string;
4
5
  send: (event: TEvent) => any;
package/lib/Machine.d.ts CHANGED
@@ -1,13 +1,12 @@
1
1
  import { Model } from './model.types';
2
- import { AnyEventObject, BaseActionObject, DefaultContext, EventObject, MachineConfig, MachineOptions, StateMachine, StateSchema, Typestate } from './types';
3
- import { MaybeTypegenMachineOptions, TypegenConstraint, TypegenDisabled, ResolveTypegenMeta } from './typegenTypes';
2
+ import { AnyEventObject, DefaultContext, EventObject, MachineConfig, MachineOptions, StateMachine, StateSchema, Typestate } from './types';
4
3
  /**
5
4
  * @deprecated Use `createMachine(...)` instead.
6
5
  */
7
- export declare function Machine<TContext = any, TEvent extends EventObject = AnyEventObject>(config: MachineConfig<TContext, any, TEvent>, options?: MachineOptions<TContext, TEvent>, initialContext?: TContext): StateMachine<TContext, any, TEvent>;
8
- export declare function Machine<TContext = DefaultContext, TStateSchema extends StateSchema = any, TEvent extends EventObject = AnyEventObject>(config: MachineConfig<TContext, TStateSchema, TEvent>, options?: MachineOptions<TContext, TEvent>, initialContext?: TContext): StateMachine<TContext, TStateSchema, TEvent>;
6
+ export declare function Machine<TContext = any, TEvent extends EventObject = AnyEventObject>(config: MachineConfig<TContext, any, TEvent>, options?: Partial<MachineOptions<TContext, TEvent>>, initialContext?: TContext): StateMachine<TContext, any, TEvent>;
7
+ export declare function Machine<TContext = DefaultContext, TStateSchema extends StateSchema = any, TEvent extends EventObject = AnyEventObject>(config: MachineConfig<TContext, TStateSchema, TEvent>, options?: Partial<MachineOptions<TContext, TEvent>>, initialContext?: TContext): StateMachine<TContext, TStateSchema, TEvent>;
9
8
  export declare function createMachine<TContext, TEvent extends EventObject = AnyEventObject, TTypestate extends Typestate<TContext> = {
10
9
  value: any;
11
10
  context: TContext;
12
- }, TTypesMeta extends TypegenConstraint = TypegenDisabled, TResolvedTypesMeta = ResolveTypegenMeta<TTypesMeta, TEvent, BaseActionObject>>(config: TContext extends Model<any, any, any, any> ? 'Model type no longer supported as generic type. Please use `model.createMachine(...)` instead.' : MachineConfig<TContext, any, TEvent, BaseActionObject, TTypesMeta>, options?: MaybeTypegenMachineOptions<TContext, TEvent, BaseActionObject, TResolvedTypesMeta>): StateMachine<TContext, any, TEvent, any, BaseActionObject, TResolvedTypesMeta>;
11
+ }>(config: TContext extends Model<any, any, any, any> ? 'Model type no longer supported as generic type. Please use `model.createMachine(...)` instead.' : MachineConfig<TContext, any, TEvent>, options?: Partial<MachineOptions<TContext, TEvent>>): StateMachine<TContext, any, TEvent, TTypestate>;
13
12
  //# sourceMappingURL=Machine.d.ts.map