xstate 4.30.0 → 4.30.3
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/CHANGELOG.md +62 -0
- package/dist/xstate.interpreter.js +1 -1
- package/dist/xstate.js +1 -1
- package/dist/xstate.web.js +2 -2
- package/es/Actor.d.ts +1 -1
- package/es/Actor.js +15 -6
- package/es/Machine.d.ts +1 -2
- package/es/State.d.ts +3 -2
- package/es/State.js +5 -10
- package/es/StateNode.js +19 -19
- package/es/actions.js +3 -3
- package/es/behaviors.js +2 -2
- package/es/index.d.ts +12 -10
- package/es/index.js +5 -3
- package/es/interpreter.d.ts +6 -4
- package/es/interpreter.js +37 -23
- package/es/invokeUtils.js +2 -2
- package/es/mapState.js +2 -2
- package/es/scxml.d.ts +2 -2
- package/es/stateUtils.js +2 -2
- package/es/types.d.ts +25 -17
- package/es/utils.d.ts +5 -8
- package/es/utils.js +13 -28
- package/lib/Actor.d.ts +1 -1
- package/lib/Actor.js +14 -5
- package/lib/Machine.d.ts +1 -2
- package/lib/State.d.ts +3 -2
- package/lib/State.js +4 -9
- package/lib/StateNode.js +18 -18
- package/lib/actions.js +2 -2
- package/lib/behaviors.js +2 -2
- package/lib/index.d.ts +12 -10
- package/lib/index.js +15 -8
- package/lib/interpreter.d.ts +6 -4
- package/lib/interpreter.js +37 -23
- package/lib/invokeUtils.js +2 -2
- package/lib/mapState.js +1 -1
- package/lib/scxml.d.ts +2 -2
- package/lib/scxml.js +1 -1
- package/lib/stateUtils.js +1 -1
- package/lib/types.d.ts +25 -17
- package/lib/utils.d.ts +5 -8
- package/lib/utils.js +11 -27
- package/package.json +1 -1
package/es/interpreter.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { StateMachine, Event, EventObject, DefaultContext, StateSchema, StateValue, InterpreterOptions, SingleOrArray,
|
|
1
|
+
import { StateMachine, Event, EventObject, DefaultContext, StateSchema, StateValue, InterpreterOptions, SingleOrArray, DoneEvent, MachineOptions, SCXML, EventData, Observer, Spawnable, Typestate, ActorRef, ActorRefFrom, Behavior, Subscription, StateConfig, InteropSubscribable } from './types';
|
|
2
2
|
import { State } from './State';
|
|
3
|
-
import {
|
|
3
|
+
import { symbolObservable } from './utils';
|
|
4
4
|
import { AreAllImplementationsAssumedToBeProvided, TypegenDisabled } from './typegenTypes';
|
|
5
5
|
export declare type StateListener<TContext, TEvent extends EventObject, TStateSchema extends StateSchema<TContext> = any, TTypestate extends Typestate<TContext> = {
|
|
6
6
|
value: any;
|
|
@@ -23,6 +23,7 @@ export declare enum InterpreterStatus {
|
|
|
23
23
|
Running = 1,
|
|
24
24
|
Stopped = 2
|
|
25
25
|
}
|
|
26
|
+
/** @ts-ignore [symbolObservable] creates problems for people without `skipLibCheck` who are on older versions of TS, remove this comment when we drop support for TS@<4.3 */
|
|
26
27
|
export declare class Interpreter<TContext, TStateSchema extends StateSchema = any, TEvent extends EventObject = EventObject, TTypestate extends Typestate<TContext> = {
|
|
27
28
|
value: any;
|
|
28
29
|
context: TContext;
|
|
@@ -93,8 +94,8 @@ export declare class Interpreter<TContext, TStateSchema extends StateSchema = an
|
|
|
93
94
|
execute(state: State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>, actionsConfig?: MachineOptions<TContext, TEvent>['actions']): void;
|
|
94
95
|
private update;
|
|
95
96
|
onTransition(listener: StateListener<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>): this;
|
|
96
|
-
subscribe(nextListener?: (state: State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>) => void, errorListener?: (error: any) => void, completeListener?: () => void): Subscription;
|
|
97
97
|
subscribe(observer: Observer<State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>>): Subscription;
|
|
98
|
+
subscribe(nextListener?: (state: State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>) => void, errorListener?: (error: any) => void, completeListener?: () => void): Subscription;
|
|
98
99
|
/**
|
|
99
100
|
* Adds an event listener that is notified whenever an event is sent to the running interpreter.
|
|
100
101
|
* @param listener The event listener
|
|
@@ -189,7 +190,8 @@ export declare class Interpreter<TContext, TStateSchema extends StateSchema = an
|
|
|
189
190
|
toJSON(): {
|
|
190
191
|
id: string;
|
|
191
192
|
};
|
|
192
|
-
|
|
193
|
+
/** @ts-ignore this creates problems for people without `skipLibCheck` who are on older versions of TS, remove this comment when we drop support for TS@<4.3 */
|
|
194
|
+
[symbolObservable](): InteropSubscribable<State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>>;
|
|
193
195
|
getSnapshot(): State<TContext, TEvent, TStateSchema, TTypestate, TResolvedTypesMeta>;
|
|
194
196
|
}
|
|
195
197
|
export declare function spawn<T extends Behavior<any, any>>(entity: T, nameOrOptions?: string | SpawnOptions): ActorRefFrom<T>;
|
package/es/interpreter.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { __values, __spreadArray, __read, __assign } from './_virtual/_tslib.js';
|
|
2
|
-
import { IS_PRODUCTION } from './environment.js';
|
|
3
|
-
import { warn, mapContext, isFunction, keys, toSCXMLEvent, toInvokeSource, isMachine, isPromiseLike, isObservable, isBehavior, reportUnhandledExceptionOnInvocation, interopSymbols, symbolObservable, isArray, toEventObject, isString, isActor, toObserver, uniqueId } from './utils.js';
|
|
4
2
|
import { ActionTypes, SpecialTargets } from './types.js';
|
|
5
|
-
import { isInFinalState } from './stateUtils.js';
|
|
6
3
|
import { errorPlatform, log, stop, start, cancel, send, update, error as error$1 } from './actionTypes.js';
|
|
4
|
+
import { IS_PRODUCTION } from './environment.js';
|
|
5
|
+
import { warn, mapContext, isFunction, toSCXMLEvent, toInvokeSource, isMachine, isPromiseLike, isObservable, isBehavior, reportUnhandledExceptionOnInvocation, symbolObservable, isArray, toEventObject, isString, isActor, uniqueId, toObserver } from './utils.js';
|
|
7
6
|
import { doneInvoke, initEvent, getActionFunction, error } from './actions.js';
|
|
8
|
-
import { isStateConfig, State, bindActionToState } from './State.js';
|
|
9
7
|
import { provide, consume } from './serviceScope.js';
|
|
10
8
|
import { isSpawnedActor, createDeferredActor } from './Actor.js';
|
|
9
|
+
import { isInFinalState } from './stateUtils.js';
|
|
10
|
+
import { isStateConfig, State, bindActionToState } from './State.js';
|
|
11
11
|
import { Scheduler } from './scheduler.js';
|
|
12
12
|
import { registry } from './registry.js';
|
|
13
13
|
import { registerService, getGlobal } from './devTools.js';
|
|
@@ -24,6 +24,8 @@ var InterpreterStatus;
|
|
|
24
24
|
InterpreterStatus[InterpreterStatus["Running"] = 1] = "Running";
|
|
25
25
|
InterpreterStatus[InterpreterStatus["Stopped"] = 2] = "Stopped";
|
|
26
26
|
})(InterpreterStatus || (InterpreterStatus = {}));
|
|
27
|
+
/** @ts-ignore [symbolObservable] creates problems for people without `skipLibCheck` who are on older versions of TS, remove this comment when we drop support for TS@<4.3 */
|
|
28
|
+
|
|
27
29
|
|
|
28
30
|
var Interpreter =
|
|
29
31
|
/*#__PURE__*/
|
|
@@ -591,7 +593,7 @@ function () {
|
|
|
591
593
|
|
|
592
594
|
try {
|
|
593
595
|
// Cancel all delayed events
|
|
594
|
-
for (var _p = __values(keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {
|
|
596
|
+
for (var _p = __values(Object.keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {
|
|
595
597
|
var key = _q.value;
|
|
596
598
|
this.clock.clearTimeout(this.delayedEventsMap[key]);
|
|
597
599
|
}
|
|
@@ -997,6 +999,8 @@ function () {
|
|
|
997
999
|
};
|
|
998
1000
|
|
|
999
1001
|
Interpreter.prototype.spawnPromise = function (promise, id) {
|
|
1002
|
+
var _a;
|
|
1003
|
+
|
|
1000
1004
|
var _this = this;
|
|
1001
1005
|
|
|
1002
1006
|
var canceled = false;
|
|
@@ -1039,8 +1043,7 @@ function () {
|
|
|
1039
1043
|
}
|
|
1040
1044
|
}
|
|
1041
1045
|
});
|
|
1042
|
-
|
|
1043
|
-
var actor = __assign({
|
|
1046
|
+
var actor = (_a = {
|
|
1044
1047
|
id: id,
|
|
1045
1048
|
send: function () {
|
|
1046
1049
|
return void 0;
|
|
@@ -1084,13 +1087,16 @@ function () {
|
|
|
1084
1087
|
getSnapshot: function () {
|
|
1085
1088
|
return resolvedData;
|
|
1086
1089
|
}
|
|
1087
|
-
},
|
|
1088
|
-
|
|
1090
|
+
}, _a[symbolObservable] = function () {
|
|
1091
|
+
return this;
|
|
1092
|
+
}, _a);
|
|
1089
1093
|
this.children.set(id, actor);
|
|
1090
1094
|
return actor;
|
|
1091
1095
|
};
|
|
1092
1096
|
|
|
1093
1097
|
Interpreter.prototype.spawnCallback = function (callback, id) {
|
|
1098
|
+
var _a;
|
|
1099
|
+
|
|
1094
1100
|
var _this = this;
|
|
1095
1101
|
|
|
1096
1102
|
var canceled = false;
|
|
@@ -1129,7 +1135,7 @@ function () {
|
|
|
1129
1135
|
return this.spawnPromise(callbackStop, id);
|
|
1130
1136
|
}
|
|
1131
1137
|
|
|
1132
|
-
var actor =
|
|
1138
|
+
var actor = (_a = {
|
|
1133
1139
|
id: id,
|
|
1134
1140
|
send: function (event) {
|
|
1135
1141
|
return receivers.forEach(function (receiver) {
|
|
@@ -1137,10 +1143,11 @@ function () {
|
|
|
1137
1143
|
});
|
|
1138
1144
|
},
|
|
1139
1145
|
subscribe: function (next) {
|
|
1140
|
-
|
|
1146
|
+
var observer = toObserver(next);
|
|
1147
|
+
listeners.add(observer.next);
|
|
1141
1148
|
return {
|
|
1142
1149
|
unsubscribe: function () {
|
|
1143
|
-
listeners.delete(next);
|
|
1150
|
+
listeners.delete(observer.next);
|
|
1144
1151
|
}
|
|
1145
1152
|
};
|
|
1146
1153
|
},
|
|
@@ -1159,13 +1166,16 @@ function () {
|
|
|
1159
1166
|
getSnapshot: function () {
|
|
1160
1167
|
return emitted;
|
|
1161
1168
|
}
|
|
1162
|
-
},
|
|
1163
|
-
|
|
1169
|
+
}, _a[symbolObservable] = function () {
|
|
1170
|
+
return this;
|
|
1171
|
+
}, _a);
|
|
1164
1172
|
this.children.set(id, actor);
|
|
1165
1173
|
return actor;
|
|
1166
1174
|
};
|
|
1167
1175
|
|
|
1168
1176
|
Interpreter.prototype.spawnObservable = function (source, id) {
|
|
1177
|
+
var _a;
|
|
1178
|
+
|
|
1169
1179
|
var _this = this;
|
|
1170
1180
|
|
|
1171
1181
|
var emitted;
|
|
@@ -1188,8 +1198,7 @@ function () {
|
|
|
1188
1198
|
origin: id
|
|
1189
1199
|
}));
|
|
1190
1200
|
});
|
|
1191
|
-
|
|
1192
|
-
var actor = __assign({
|
|
1201
|
+
var actor = (_a = {
|
|
1193
1202
|
id: id,
|
|
1194
1203
|
send: function () {
|
|
1195
1204
|
return void 0;
|
|
@@ -1208,8 +1217,9 @@ function () {
|
|
|
1208
1217
|
id: id
|
|
1209
1218
|
};
|
|
1210
1219
|
}
|
|
1211
|
-
},
|
|
1212
|
-
|
|
1220
|
+
}, _a[symbolObservable] = function () {
|
|
1221
|
+
return this;
|
|
1222
|
+
}, _a);
|
|
1213
1223
|
this.children.set(id, actor);
|
|
1214
1224
|
return actor;
|
|
1215
1225
|
};
|
|
@@ -1237,7 +1247,9 @@ function () {
|
|
|
1237
1247
|
};
|
|
1238
1248
|
|
|
1239
1249
|
Interpreter.prototype.spawnEffect = function (id, dispose) {
|
|
1240
|
-
|
|
1250
|
+
var _a;
|
|
1251
|
+
|
|
1252
|
+
this.children.set(id, (_a = {
|
|
1241
1253
|
id: id,
|
|
1242
1254
|
send: function () {
|
|
1243
1255
|
return void 0;
|
|
@@ -1258,7 +1270,9 @@ function () {
|
|
|
1258
1270
|
id: id
|
|
1259
1271
|
};
|
|
1260
1272
|
}
|
|
1261
|
-
},
|
|
1273
|
+
}, _a[symbolObservable] = function () {
|
|
1274
|
+
return this;
|
|
1275
|
+
}, _a));
|
|
1262
1276
|
};
|
|
1263
1277
|
|
|
1264
1278
|
Interpreter.prototype.attachDev = function () {
|
|
@@ -1296,12 +1310,12 @@ function () {
|
|
|
1296
1310
|
id: this.id
|
|
1297
1311
|
};
|
|
1298
1312
|
};
|
|
1313
|
+
/** @ts-ignore this creates problems for people without `skipLibCheck` who are on older versions of TS, remove this comment when we drop support for TS@<4.3 */
|
|
1314
|
+
|
|
1299
1315
|
|
|
1300
1316
|
Interpreter.prototype[symbolObservable] = function () {
|
|
1301
1317
|
return this;
|
|
1302
|
-
};
|
|
1303
|
-
// it has to be here to be included in the generated .d.ts
|
|
1304
|
-
|
|
1318
|
+
};
|
|
1305
1319
|
|
|
1306
1320
|
Interpreter.prototype.getSnapshot = function () {
|
|
1307
1321
|
if (this.status === InterpreterStatus.NotStarted) {
|
package/es/invokeUtils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { __assign, __rest } from './_virtual/_tslib.js';
|
|
2
|
-
import './environment.js';
|
|
3
|
-
import './utils.js';
|
|
4
2
|
import './types.js';
|
|
5
3
|
import { invoke } from './actionTypes.js';
|
|
4
|
+
import './environment.js';
|
|
5
|
+
import './utils.js';
|
|
6
6
|
|
|
7
7
|
function toInvokeSource(src) {
|
|
8
8
|
if (typeof src === 'string') {
|
package/es/mapState.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __values } from './_virtual/_tslib.js';
|
|
2
|
-
import {
|
|
2
|
+
import { matchesState } from './utils.js';
|
|
3
3
|
|
|
4
4
|
function mapState(stateMap, stateId) {
|
|
5
5
|
var e_1, _a;
|
|
@@ -7,7 +7,7 @@ function mapState(stateMap, stateId) {
|
|
|
7
7
|
var foundStateId;
|
|
8
8
|
|
|
9
9
|
try {
|
|
10
|
-
for (var _b = __values(keys(stateMap)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
10
|
+
for (var _b = __values(Object.keys(stateMap)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
11
11
|
var mappedStateId = _c.value;
|
|
12
12
|
|
|
13
13
|
if (matchesState(mappedStateId, stateId) && (!foundStateId || stateId.length > foundStateId.length)) {
|
package/es/scxml.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyStateMachine } from './index';
|
|
2
2
|
export interface ScxmlToMachineOptions {
|
|
3
3
|
delimiter?: string;
|
|
4
4
|
}
|
|
5
|
-
export declare function toMachine(xml: string, options: ScxmlToMachineOptions):
|
|
5
|
+
export declare function toMachine(xml: string, options: ScxmlToMachineOptions): AnyStateMachine;
|
|
6
6
|
//# sourceMappingURL=scxml.d.ts.map
|
package/es/stateUtils.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { __values, __spreadArray, __read } from './_virtual/_tslib.js';
|
|
2
|
-
import { flatten
|
|
2
|
+
import { flatten } from './utils.js';
|
|
3
3
|
|
|
4
4
|
var isLeafNode = function (stateNode) {
|
|
5
5
|
return stateNode.type === 'atomic' || stateNode.type === 'final';
|
|
6
6
|
};
|
|
7
7
|
function getChildren(stateNode) {
|
|
8
|
-
return keys(stateNode.states).map(function (key) {
|
|
8
|
+
return Object.keys(stateNode.states).map(function (key) {
|
|
9
9
|
return stateNode.states[key];
|
|
10
10
|
});
|
|
11
11
|
}
|
package/es/types.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export declare type IndexByType<T extends {
|
|
|
22
22
|
export declare type Equals<A1 extends any, A2 extends any> = (<A>() => A extends A2 ? true : false) extends <A>() => A extends A1 ? true : false ? true : false;
|
|
23
23
|
export declare type IsAny<T> = Equals<T, any>;
|
|
24
24
|
export declare type Cast<A, B> = A extends B ? A : B;
|
|
25
|
+
export declare type NoInfer<T> = [T][T extends any ? 0 : any];
|
|
26
|
+
export declare type LowInfer<T> = T & {};
|
|
25
27
|
export declare type EventType = string;
|
|
26
28
|
export declare type ActionType = string;
|
|
27
29
|
export declare type MetaObject = Record<string, any>;
|
|
@@ -90,7 +92,7 @@ export declare type SimpleEventsOf<TEvent extends EventObject> = ExtractWithSimp
|
|
|
90
92
|
export declare type BaseAction<TContext, TEvent extends EventObject, TAction extends BaseActionObject> = SimpleActionsOf<TAction>['type'] | TAction | RaiseAction<any> | SendAction<TContext, TEvent, any> | AssignAction<TContext, TEvent> | LogAction<TContext, TEvent> | CancelAction | StopAction<TContext, TEvent> | ChooseAction<TContext, TEvent> | ActionFunction<TContext, TEvent>;
|
|
91
93
|
export declare type BaseActions<TContext, TEvent extends EventObject, TAction extends BaseActionObject> = SingleOrArray<BaseAction<TContext, TEvent, TAction>>;
|
|
92
94
|
export declare type Actions<TContext, TEvent extends EventObject> = SingleOrArray<Action<TContext, TEvent>>;
|
|
93
|
-
export declare type StateKey = string |
|
|
95
|
+
export declare type StateKey = string | AnyState;
|
|
94
96
|
export interface StateValueMap {
|
|
95
97
|
[key: string]: StateValue;
|
|
96
98
|
}
|
|
@@ -268,7 +270,7 @@ export interface InvokeConfig<TContext, TEvent extends EventObject> {
|
|
|
268
270
|
/**
|
|
269
271
|
* The source of the machine to be invoked, or the machine itself.
|
|
270
272
|
*/
|
|
271
|
-
src: string | InvokeSourceDefinition |
|
|
273
|
+
src: string | InvokeSourceDefinition | AnyStateMachine | InvokeCreator<TContext, TEvent, any>;
|
|
272
274
|
/**
|
|
273
275
|
* If `true`, events sent to the parent service will be forwarded to the invoked service.
|
|
274
276
|
*
|
|
@@ -338,7 +340,7 @@ export interface StateNodeConfig<TContext, TStateSchema extends StateSchema, TEv
|
|
|
338
340
|
/**
|
|
339
341
|
* The services to invoke upon entering this state node. These services will be stopped upon exiting this state node.
|
|
340
342
|
*/
|
|
341
|
-
invoke?: SingleOrArray<InvokeConfig<TContext, TEvent> |
|
|
343
|
+
invoke?: SingleOrArray<InvokeConfig<TContext, TEvent> | AnyStateMachine>;
|
|
342
344
|
/**
|
|
343
345
|
* The mapping of event types to their potential transition(s).
|
|
344
346
|
*/
|
|
@@ -458,6 +460,8 @@ export interface StateNodeDefinition<TContext, TStateSchema extends StateSchema,
|
|
|
458
460
|
tags: string[];
|
|
459
461
|
}
|
|
460
462
|
export declare type AnyStateNodeDefinition = StateNodeDefinition<any, any, any>;
|
|
463
|
+
export declare type AnyState = State<any, any, any, any, any>;
|
|
464
|
+
export declare type AnyStateMachine = StateMachine<any, any, any, any, any, any, any>;
|
|
461
465
|
export interface AtomicStateNodeConfig<TContext, TEvent extends EventObject> extends StateNodeConfig<TContext, StateSchema, TEvent> {
|
|
462
466
|
initial?: undefined;
|
|
463
467
|
parallel?: false | undefined;
|
|
@@ -483,7 +487,7 @@ export declare type ActionFunctionMap<TContext, TEvent extends EventObject, TAct
|
|
|
483
487
|
} ? TAction : never>;
|
|
484
488
|
};
|
|
485
489
|
export declare type DelayFunctionMap<TContext, TEvent extends EventObject> = Record<string, DelayConfig<TContext, TEvent>>;
|
|
486
|
-
export declare type ServiceConfig<TContext, TEvent extends EventObject = AnyEventObject> = string |
|
|
490
|
+
export declare type ServiceConfig<TContext, TEvent extends EventObject = AnyEventObject> = string | AnyStateMachine | InvokeCreator<TContext, TEvent>;
|
|
487
491
|
export declare type DelayConfig<TContext, TEvent extends EventObject> = number | DelayExpr<TContext, TEvent>;
|
|
488
492
|
declare type MachineOptionsActions<TContext, TResolvedTypesMeta, TEventsCausingActions = Prop<TResolvedTypesMeta, 'eventsCausingActions'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>, TIndexedActions = Prop<TResolvedTypesMeta, 'indexedActions'>> = {
|
|
489
493
|
[K in keyof TEventsCausingActions]?: ActionObject<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>> | ActionFunction<TContext, Cast<Prop<TIndexedEvents, TEventsCausingActions[K]>, EventObject>, Cast<Prop<TIndexedActions, K>, BaseActionObject>>;
|
|
@@ -495,7 +499,7 @@ declare type MachineOptionsGuards<TContext, TResolvedTypesMeta, TEventsCausingGu
|
|
|
495
499
|
[K in keyof TEventsCausingGuards]?: ConditionPredicate<TContext, Cast<Prop<TIndexedEvents, TEventsCausingGuards[K]>, EventObject>>;
|
|
496
500
|
};
|
|
497
501
|
declare type MachineOptionsServices<TContext, TResolvedTypesMeta, TEventsCausingServices = Prop<TResolvedTypesMeta, 'eventsCausingServices'>, TIndexedEvents = Prop<TResolvedTypesMeta, 'indexedEvents'>, TInvokeSrcNameMap = Prop<TResolvedTypesMeta, 'invokeSrcNameMap'>> = {
|
|
498
|
-
[K in keyof TEventsCausingServices]?:
|
|
502
|
+
[K in keyof TEventsCausingServices]?: AnyStateMachine | InvokeCreator<TContext, Cast<Prop<TIndexedEvents, TEventsCausingServices[K]>, EventObject>, Prop<Prop<TIndexedEvents, Prop<TInvokeSrcNameMap, K>>, 'data'>, EventObject, Cast<TIndexedEvents[keyof TIndexedEvents], EventObject>>;
|
|
499
503
|
};
|
|
500
504
|
declare type MakeKeysRequired<T extends string> = {
|
|
501
505
|
[K in T]: unknown;
|
|
@@ -522,11 +526,11 @@ export declare type InternalMachineOptions<TContext, TEvent extends EventObject,
|
|
|
522
526
|
activities?: Record<string, ActivityConfig<TContext, TEvent>>;
|
|
523
527
|
};
|
|
524
528
|
export declare type MachineOptions<TContext, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TTypesMeta extends TypegenConstraint = TypegenDisabled> = InternalMachineOptions<TContext, TEvent, ResolveTypegenMeta<TTypesMeta, TEvent, TAction, TServiceMap>>;
|
|
525
|
-
export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TTypesMeta = TypegenDisabled> extends StateNodeConfig<TContext
|
|
529
|
+
export interface MachineConfig<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TTypesMeta = TypegenDisabled> extends StateNodeConfig<NoInfer<TContext>, TStateSchema, TEvent, TAction> {
|
|
526
530
|
/**
|
|
527
531
|
* The initial context (extended state)
|
|
528
532
|
*/
|
|
529
|
-
context?: TContext | (() => TContext)
|
|
533
|
+
context?: LowInfer<TContext | (() => TContext)>;
|
|
530
534
|
/**
|
|
531
535
|
* The machine's own version.
|
|
532
536
|
*/
|
|
@@ -568,7 +572,7 @@ export interface HistoryStateNode<TContext> extends StateNode<TContext> {
|
|
|
568
572
|
export interface StateMachine<TContext, TStateSchema extends StateSchema, TEvent extends EventObject, TTypestate extends Typestate<TContext> = {
|
|
569
573
|
value: any;
|
|
570
574
|
context: TContext;
|
|
571
|
-
}, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TResolvedTypesMeta = TypegenDisabled
|
|
575
|
+
}, TAction extends BaseActionObject = BaseActionObject, TServiceMap extends ServiceMap = ServiceMap, TResolvedTypesMeta = ResolveTypegenMeta<TypegenDisabled, TEvent, TAction, TServiceMap>> extends StateNode<TContext, TStateSchema, TEvent, TTypestate, TServiceMap, TResolvedTypesMeta> {
|
|
572
576
|
id: string;
|
|
573
577
|
states: StateNode<TContext, TStateSchema, TEvent, TTypestate, TServiceMap, TResolvedTypesMeta>['states'];
|
|
574
578
|
withConfig(options: InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, true>, context?: TContext | (() => TContext)): StateMachine<TContext, TStateSchema, TEvent, TTypestate, TAction, TServiceMap, AreAllImplementationsAssumedToBeProvided<TResolvedTypesMeta> extends false ? MarkAllImplementationsAsProvided<TResolvedTypesMeta> : TResolvedTypesMeta>;
|
|
@@ -588,7 +592,7 @@ export interface StateMachine<TContext, TStateSchema extends StateSchema, TEvent
|
|
|
588
592
|
/** @deprecated an internal property acting as a "phantom" type, not meant to be used at runtime */
|
|
589
593
|
__TResolvedTypesMeta: TResolvedTypesMeta;
|
|
590
594
|
}
|
|
591
|
-
export declare type StateFrom<T extends
|
|
595
|
+
export declare type StateFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = T extends AnyStateMachine ? ReturnType<T['transition']> : T extends (...args: any[]) => AnyStateMachine ? ReturnType<ReturnType<T>['transition']> : never;
|
|
592
596
|
export interface ActionMap<TContext, TEvent extends EventObject> {
|
|
593
597
|
onEntry: Array<Action<TContext, TEvent>>;
|
|
594
598
|
actions: Array<Action<TContext, TEvent>>;
|
|
@@ -668,7 +672,7 @@ export interface DoneEventObject extends EventObject {
|
|
|
668
672
|
}
|
|
669
673
|
export interface UpdateObject extends EventObject {
|
|
670
674
|
id: string | number;
|
|
671
|
-
state:
|
|
675
|
+
state: AnyState;
|
|
672
676
|
}
|
|
673
677
|
export declare type DoneEvent = DoneEventObject & string;
|
|
674
678
|
export interface NullEvent {
|
|
@@ -868,6 +872,7 @@ export interface StateConfig<TContext, TEvent extends EventObject> {
|
|
|
868
872
|
tags?: Set<string>;
|
|
869
873
|
machine?: StateMachine<TContext, any, TEvent, any, any, any, any>;
|
|
870
874
|
}
|
|
875
|
+
export declare type AnyStateConfig = StateConfig<any, AnyEventObject>;
|
|
871
876
|
export interface StateSchema<TC = any> {
|
|
872
877
|
meta?: any;
|
|
873
878
|
context?: Partial<TC>;
|
|
@@ -973,13 +978,16 @@ export interface Subscription {
|
|
|
973
978
|
unsubscribe(): void;
|
|
974
979
|
}
|
|
975
980
|
export interface InteropObservable<T> {
|
|
976
|
-
[Symbol.observable]: () =>
|
|
981
|
+
[Symbol.observable]: () => InteropSubscribable<T>;
|
|
977
982
|
}
|
|
978
|
-
export interface
|
|
979
|
-
subscribe(
|
|
983
|
+
export interface InteropSubscribable<T> {
|
|
984
|
+
subscribe(observer: Observer<T>): Subscription;
|
|
985
|
+
}
|
|
986
|
+
export interface Subscribable<T> extends InteropSubscribable<T> {
|
|
980
987
|
subscribe(observer: Observer<T>): Subscription;
|
|
988
|
+
subscribe(next: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;
|
|
981
989
|
}
|
|
982
|
-
export declare type Spawnable =
|
|
990
|
+
export declare type Spawnable = AnyStateMachine | PromiseLike<any> | InvokeCallback | InteropObservable<any> | Subscribable<any> | Behavior<any>;
|
|
983
991
|
export declare type ExtractEvent<TEvent extends EventObject, TEventType extends TEvent['type']> = TEvent extends {
|
|
984
992
|
type: TEventType;
|
|
985
993
|
} ? TEvent : never;
|
|
@@ -1003,10 +1011,10 @@ export declare type ActorRefWithDeprecatedState<TContext, TEvent extends EventOb
|
|
|
1003
1011
|
*/
|
|
1004
1012
|
state: State<TContext, TEvent, any, TTypestate, TResolvedTypesMeta>;
|
|
1005
1013
|
};
|
|
1006
|
-
export declare type ActorRefFrom<T> = T extends
|
|
1014
|
+
export declare type ActorRefFrom<T> = ReturnTypeOrValue<T> extends infer R ? R extends StateMachine<infer TContext, any, infer TEvent, infer TTypestate, any, any, infer TResolvedTypesMeta> ? ActorRefWithDeprecatedState<TContext, TEvent, TTypestate, TResolvedTypesMeta> : R extends Promise<infer U> ? ActorRef<never, U> : R extends Behavior<infer TEvent, infer TEmitted> ? ActorRef<TEvent, TEmitted> : never : never;
|
|
1007
1015
|
export declare type AnyInterpreter = Interpreter<any, any, any, any, any>;
|
|
1008
|
-
export declare type InterpreterFrom<T extends
|
|
1009
|
-
export declare type MachineOptionsFrom<T extends
|
|
1016
|
+
export declare type InterpreterFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine)> = T extends StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate, any, any, infer TResolvedTypesMeta> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> : T extends (...args: any[]) => StateMachine<infer TContext, infer TStateSchema, infer TEvent, infer TTypestate, any, any, infer TResolvedTypesMeta> ? Interpreter<TContext, TStateSchema, TEvent, TTypestate, TResolvedTypesMeta> : never;
|
|
1017
|
+
export declare type MachineOptionsFrom<T extends AnyStateMachine | ((...args: any[]) => AnyStateMachine), TRequireMissingImplementations extends boolean = false> = ReturnTypeOrValue<T> extends StateMachine<infer TContext, any, infer TEvent, any, any, any, infer TResolvedTypesMeta> ? InternalMachineOptions<TContext, TEvent, TResolvedTypesMeta, TRequireMissingImplementations> : never;
|
|
1010
1018
|
export declare type __ResolvedTypesMetaFrom<T> = T extends StateMachine<any, any, any, any, any, any, infer TResolvedTypesMeta> ? TResolvedTypesMeta : never;
|
|
1011
1019
|
export interface ActorContext<TEvent extends EventObject, TEmitted> {
|
|
1012
1020
|
parent?: ActorRef<any, any>;
|
package/es/utils.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Event, StateValue, ActionType, Action, EventObject, PropertyMapper, Mapper, EventType, HistoryValue, AssignAction, Condition, Subscribable,
|
|
1
|
+
import { Event, StateValue, ActionType, Action, EventObject, PropertyMapper, Mapper, EventType, HistoryValue, AssignAction, Condition, Subscribable, ConditionPredicate, SCXML, StateLike, EventData, TransitionConfig, TransitionConfigTarget, NullEvent, SingleOrArray, Guard, InvokeSourceDefinition, Observer, Behavior } from './types';
|
|
2
2
|
import { StateNode } from './StateNode';
|
|
3
3
|
import { State } from './State';
|
|
4
4
|
import { Actor } from './Actor';
|
|
5
|
-
|
|
5
|
+
import { AnyStateMachine } from '.';
|
|
6
6
|
export declare function matchesState(parentStateId: StateValue, childStateId: StateValue, delimiter?: string): boolean;
|
|
7
7
|
export declare function getEventType<TEvent extends EventObject = EventObject>(event: Event<TEvent>): TEvent['type'];
|
|
8
8
|
export declare function getActionType(action: Action<any, any>): ActionType;
|
|
@@ -10,9 +10,7 @@ export declare function toStatePath(stateId: string | string[], delimiter: strin
|
|
|
10
10
|
export declare function isStateLike(state: any): state is StateLike<any>;
|
|
11
11
|
export declare function toStateValue(stateValue: StateLike<any> | StateValue | string[], delimiter: string): StateValue;
|
|
12
12
|
export declare function pathToStateValue(statePath: string[]): StateValue;
|
|
13
|
-
export declare function mapValues<
|
|
14
|
-
[key: string]: T;
|
|
15
|
-
}>(collection: O, iteratee: (item: O[keyof O], key: keyof O, collection: O, i: number) => P): {
|
|
13
|
+
export declare function mapValues<P, O extends Record<string, unknown>>(collection: O, iteratee: (item: O[keyof O], key: keyof O, collection: O, i: number) => P): {
|
|
16
14
|
[key in keyof O]: P;
|
|
17
15
|
};
|
|
18
16
|
export declare function mapFilterValues<T, P>(collection: {
|
|
@@ -52,12 +50,11 @@ export declare function isFunction(value: any): value is Function;
|
|
|
52
50
|
export declare function isString(value: any): value is string;
|
|
53
51
|
export declare function toGuard<TContext, TEvent extends EventObject>(condition?: Condition<TContext, TEvent>, guardMap?: Record<string, ConditionPredicate<TContext, TEvent>>): Guard<TContext, TEvent> | undefined;
|
|
54
52
|
export declare function isObservable<T>(value: any): value is Subscribable<T>;
|
|
55
|
-
export declare const symbolObservable:
|
|
53
|
+
export declare const symbolObservable: typeof Symbol.observable;
|
|
56
54
|
export declare const interopSymbols: {
|
|
57
|
-
[x: string]: () => any;
|
|
58
55
|
[Symbol.observable]: () => any;
|
|
59
56
|
};
|
|
60
|
-
export declare function isMachine(value: any): value is
|
|
57
|
+
export declare function isMachine(value: any): value is AnyStateMachine;
|
|
61
58
|
export declare function isActor(value: any): value is Actor;
|
|
62
59
|
export declare const uniqueId: () => string;
|
|
63
60
|
export declare function toEventObject<TEvent extends EventObject>(event: Event<TEvent>, payload?: EventData): TEvent;
|
package/es/utils.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import { __spreadArray, __read, __values
|
|
1
|
+
import { __assign, __spreadArray, __read, __values } from './_virtual/_tslib.js';
|
|
2
2
|
import { DEFAULT_GUARD_TYPE, TARGETLESS_KEY, STATE_DELIMITER } from './constants.js';
|
|
3
3
|
import { IS_PRODUCTION } from './environment.js';
|
|
4
4
|
|
|
5
5
|
var _a;
|
|
6
|
-
function keys(value) {
|
|
7
|
-
return Object.keys(value);
|
|
8
|
-
}
|
|
9
6
|
function matchesState(parentStateId, childStateId, delimiter) {
|
|
10
7
|
if (delimiter === void 0) {
|
|
11
8
|
delimiter = STATE_DELIMITER;
|
|
@@ -27,7 +24,7 @@ function matchesState(parentStateId, childStateId, delimiter) {
|
|
|
27
24
|
return parentStateValue in childStateValue;
|
|
28
25
|
}
|
|
29
26
|
|
|
30
|
-
return keys(parentStateValue).every(function (key) {
|
|
27
|
+
return Object.keys(parentStateValue).every(function (key) {
|
|
31
28
|
if (!(key in childStateValue)) {
|
|
32
29
|
return false;
|
|
33
30
|
}
|
|
@@ -93,7 +90,7 @@ function pathToStateValue(statePath) {
|
|
|
93
90
|
}
|
|
94
91
|
function mapValues(collection, iteratee) {
|
|
95
92
|
var result = {};
|
|
96
|
-
var collectionKeys = keys(collection);
|
|
93
|
+
var collectionKeys = Object.keys(collection);
|
|
97
94
|
|
|
98
95
|
for (var i = 0; i < collectionKeys.length; i++) {
|
|
99
96
|
var key = collectionKeys[i];
|
|
@@ -108,7 +105,7 @@ function mapFilterValues(collection, iteratee, predicate) {
|
|
|
108
105
|
var result = {};
|
|
109
106
|
|
|
110
107
|
try {
|
|
111
|
-
for (var _b = __values(keys(collection)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
108
|
+
for (var _b = __values(Object.keys(collection)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
112
109
|
var key = _c.value;
|
|
113
110
|
var item = collection[key];
|
|
114
111
|
|
|
@@ -203,7 +200,7 @@ function toStatePaths(stateValue) {
|
|
|
203
200
|
return [[stateValue]];
|
|
204
201
|
}
|
|
205
202
|
|
|
206
|
-
var result = flatten(keys(stateValue).map(function (key) {
|
|
203
|
+
var result = flatten(Object.keys(stateValue).map(function (key) {
|
|
207
204
|
var subStateValue = stateValue[key];
|
|
208
205
|
|
|
209
206
|
if (typeof subStateValue !== 'string' && (!subStateValue || !Object.keys(subStateValue).length)) {
|
|
@@ -362,7 +359,7 @@ function updateContext(context, _event, assignActions, state) {
|
|
|
362
359
|
partialUpdate = assignment(acc, _event.data, meta);
|
|
363
360
|
} else {
|
|
364
361
|
try {
|
|
365
|
-
for (var _b = __values(keys(assignment)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
362
|
+
for (var _b = __values(Object.keys(assignment)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
366
363
|
var key = _c.value;
|
|
367
364
|
var propAssignment = assignment[key];
|
|
368
365
|
partialUpdate[key] = isFunction(propAssignment) ? propAssignment(acc, _event.data, meta) : propAssignment;
|
|
@@ -416,18 +413,7 @@ function isFunction(value) {
|
|
|
416
413
|
}
|
|
417
414
|
function isString(value) {
|
|
418
415
|
return typeof value === 'string';
|
|
419
|
-
}
|
|
420
|
-
// o: TP,
|
|
421
|
-
// property: string,
|
|
422
|
-
// getter: () => T
|
|
423
|
-
// ): void {
|
|
424
|
-
// Object.defineProperty(o.prototype, property, {
|
|
425
|
-
// get: getter,
|
|
426
|
-
// enumerable: false,
|
|
427
|
-
// configurable: false
|
|
428
|
-
// });
|
|
429
|
-
// }
|
|
430
|
-
|
|
416
|
+
}
|
|
431
417
|
function toGuard(condition, guardMap) {
|
|
432
418
|
if (!condition) {
|
|
433
419
|
return undefined;
|
|
@@ -460,16 +446,15 @@ function isObservable(value) {
|
|
|
460
446
|
}
|
|
461
447
|
var symbolObservable = /*#__PURE__*/function () {
|
|
462
448
|
return typeof Symbol === 'function' && Symbol.observable || '@@observable';
|
|
463
|
-
}();
|
|
449
|
+
}(); // TODO: to be removed in v5, left it out just to minimize the scope of the change and maintain compatibility with older versions of integration paackages
|
|
450
|
+
|
|
464
451
|
var interopSymbols = (_a = {}, _a[symbolObservable] = function () {
|
|
465
452
|
return this;
|
|
453
|
+
}, _a[Symbol.observable] = function () {
|
|
454
|
+
return this;
|
|
466
455
|
}, _a);
|
|
467
456
|
function isMachine(value) {
|
|
468
|
-
|
|
469
|
-
return '__xstatenode' in value;
|
|
470
|
-
} catch (e) {
|
|
471
|
-
return false;
|
|
472
|
-
}
|
|
457
|
+
return !!value && '__xstatenode' in value;
|
|
473
458
|
}
|
|
474
459
|
function isActor(value) {
|
|
475
460
|
return !!value && typeof value.send === 'function';
|
|
@@ -588,4 +573,4 @@ function createInvokeId(stateNodeId, index) {
|
|
|
588
573
|
return "".concat(stateNodeId, ":invocation[").concat(index, "]");
|
|
589
574
|
}
|
|
590
575
|
|
|
591
|
-
export { createInvokeId, evaluateGuard, flatten, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isStateLike, isString,
|
|
576
|
+
export { createInvokeId, evaluateGuard, flatten, getEventType, interopSymbols, isActor, isArray, isBehavior, isBuiltInEvent, isFunction, isMachine, isObservable, isPromiseLike, isStateLike, isString, mapContext, mapFilterValues, mapValues, matchesState, nestedPath, normalizeTarget, partition, path, pathToStateValue, reportUnhandledExceptionOnInvocation, symbolObservable, toArray, toArrayStrict, toEventObject, toGuard, toInvokeSource, toObserver, toSCXMLEvent, toStatePath, toStatePaths, toStateValue, toTransitionConfigArray, uniqueId, updateContext, updateHistoryStates, updateHistoryValue, warn };
|
package/lib/Actor.d.ts
CHANGED
|
@@ -21,5 +21,5 @@ export declare function createInvocableActor<TC, TE extends EventObject>(invokeD
|
|
|
21
21
|
export declare function createDeferredActor(entity: Spawnable, id: string, data?: any): ActorRef<any, undefined>;
|
|
22
22
|
export declare function isActor(item: any): item is ActorRef<any>;
|
|
23
23
|
export declare function isSpawnedActor(item: any): item is ActorRef<any>;
|
|
24
|
-
export declare function toActorRef<TEvent extends EventObject, TEmitted = any, TActorRefLike extends BaseActorRef<TEvent> = BaseActorRef<TEvent>>(actorRefLike: TActorRefLike): ActorRef<TEvent, TEmitted
|
|
24
|
+
export declare function toActorRef<TEvent extends EventObject, TEmitted = any, TActorRefLike extends BaseActorRef<TEvent> = BaseActorRef<TEvent>>(actorRefLike: TActorRefLike): ActorRef<TEvent, TEmitted> & Omit<TActorRefLike, keyof ActorRef<any, any>>;
|
|
25
25
|
//# sourceMappingURL=Actor.d.ts.map
|
package/lib/Actor.js
CHANGED
|
@@ -7,7 +7,9 @@ var utils = require('./utils.js');
|
|
|
7
7
|
var serviceScope = require('./serviceScope.js');
|
|
8
8
|
|
|
9
9
|
function createNullActor(id) {
|
|
10
|
-
|
|
10
|
+
var _a;
|
|
11
|
+
|
|
12
|
+
return _a = {
|
|
11
13
|
id: id,
|
|
12
14
|
send: function () {
|
|
13
15
|
return void 0;
|
|
@@ -27,7 +29,9 @@ function createNullActor(id) {
|
|
|
27
29
|
id: id
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
|
-
}, utils.
|
|
32
|
+
}, _a[utils.symbolObservable] = function () {
|
|
33
|
+
return this;
|
|
34
|
+
}, _a;
|
|
31
35
|
}
|
|
32
36
|
/**
|
|
33
37
|
* Creates a deferred actor that is able to be invoked given the provided
|
|
@@ -74,9 +78,12 @@ function isActor(item) {
|
|
|
74
78
|
}
|
|
75
79
|
function isSpawnedActor(item) {
|
|
76
80
|
return isActor(item) && 'id' in item;
|
|
77
|
-
}
|
|
81
|
+
} // TODO: refactor the return type, this could be written in a better way but it's best to avoid unneccessary breaking changes now
|
|
82
|
+
|
|
78
83
|
function toActorRef(actorRefLike) {
|
|
79
|
-
|
|
84
|
+
var _a;
|
|
85
|
+
|
|
86
|
+
return _tslib.__assign((_a = {
|
|
80
87
|
subscribe: function () {
|
|
81
88
|
return {
|
|
82
89
|
unsubscribe: function () {
|
|
@@ -88,7 +95,9 @@ function toActorRef(actorRefLike) {
|
|
|
88
95
|
getSnapshot: function () {
|
|
89
96
|
return undefined;
|
|
90
97
|
}
|
|
91
|
-
}, utils.
|
|
98
|
+
}, _a[utils.symbolObservable] = function () {
|
|
99
|
+
return this;
|
|
100
|
+
}, _a), actorRefLike);
|
|
92
101
|
}
|
|
93
102
|
|
|
94
103
|
exports.createDeferredActor = createDeferredActor;
|
package/lib/Machine.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Model } from './model.types';
|
|
2
1
|
import { AnyEventObject, BaseActionObject, DefaultContext, EventObject, MachineConfig, InternalMachineOptions, StateMachine, StateSchema, Typestate, ServiceMap } from './types';
|
|
3
2
|
import { TypegenConstraint, TypegenDisabled, ResolveTypegenMeta } from './typegenTypes';
|
|
4
3
|
/**
|
|
@@ -9,5 +8,5 @@ export declare function Machine<TContext = DefaultContext, TStateSchema extends
|
|
|
9
8
|
export declare function createMachine<TContext, TEvent extends EventObject = AnyEventObject, TTypestate extends Typestate<TContext> = {
|
|
10
9
|
value: any;
|
|
11
10
|
context: TContext;
|
|
12
|
-
}, TServiceMap extends ServiceMap = ServiceMap, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config:
|
|
11
|
+
}, TServiceMap extends ServiceMap = ServiceMap, TTypesMeta extends TypegenConstraint = TypegenDisabled>(config: MachineConfig<TContext, any, TEvent, BaseActionObject, TServiceMap, TTypesMeta>, options?: InternalMachineOptions<TContext, TEvent, ResolveTypegenMeta<TTypesMeta, TEvent, BaseActionObject, TServiceMap>>): StateMachine<TContext, any, TEvent, TTypestate, BaseActionObject, TServiceMap, ResolveTypegenMeta<TTypesMeta, TEvent, BaseActionObject, TServiceMap>>;
|
|
13
12
|
//# sourceMappingURL=Machine.d.ts.map
|
package/lib/State.d.ts
CHANGED
|
@@ -71,7 +71,7 @@ export declare class State<TContext, TEvent extends EventObject = EventObject, T
|
|
|
71
71
|
* @param stateValue
|
|
72
72
|
* @param context
|
|
73
73
|
*/
|
|
74
|
-
static inert<TC, TE extends EventObject = EventObject>(stateValue: State<TC, TE> | StateValue, context: TC): State<TC, TE>;
|
|
74
|
+
static inert<TC, TE extends EventObject = EventObject>(stateValue: State<TC, TE, any, any, any> | StateValue, context: TC): State<TC, TE>;
|
|
75
75
|
/**
|
|
76
76
|
* Creates a new State instance.
|
|
77
77
|
* @param value The state value
|
|
@@ -98,7 +98,8 @@ export declare class State<TContext, TEvent extends EventObject = EventObject, T
|
|
|
98
98
|
* Whether the current state value is a subset of the given parent state value.
|
|
99
99
|
* @param parentStateValue
|
|
100
100
|
*/
|
|
101
|
-
matches<TSV extends TResolvedTypesMeta extends TypegenEnabled ? Prop<TResolvedTypesMeta, 'matchesStates'> :
|
|
101
|
+
matches<TSV extends TResolvedTypesMeta extends TypegenEnabled ? Prop<TResolvedTypesMeta, 'matchesStates'> : never>(parentStateValue: TSV): boolean;
|
|
102
|
+
matches<TSV extends TResolvedTypesMeta extends TypegenDisabled ? TTypestate['value'] : never>(parentStateValue: TSV): this is State<(TTypestate extends any ? {
|
|
102
103
|
value: TSV;
|
|
103
104
|
context: any;
|
|
104
105
|
} extends TTypestate ? TTypestate : never : never)['context'], TEvent, TStateSchema, TTypestate, TResolvedTypesMeta> & {
|