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/lib/State.js
CHANGED
|
@@ -6,8 +6,8 @@ var _tslib = require('./_virtual/_tslib.js');
|
|
|
6
6
|
var constants = require('./constants.js');
|
|
7
7
|
var environment = require('./environment.js');
|
|
8
8
|
var utils = require('./utils.js');
|
|
9
|
-
var stateUtils = require('./stateUtils.js');
|
|
10
9
|
var actions = require('./actions.js');
|
|
10
|
+
var stateUtils = require('./stateUtils.js');
|
|
11
11
|
|
|
12
12
|
function stateValuesEqual(a, b) {
|
|
13
13
|
if (a === b) {
|
|
@@ -22,8 +22,8 @@ function stateValuesEqual(a, b) {
|
|
|
22
22
|
return a === b;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
var aKeys =
|
|
26
|
-
var bKeys =
|
|
25
|
+
var aKeys = Object.keys(a);
|
|
26
|
+
var bKeys = Object.keys(b);
|
|
27
27
|
return aKeys.length === bKeys.length && aKeys.every(function (key) {
|
|
28
28
|
return stateValuesEqual(a[key], b[key]);
|
|
29
29
|
});
|
|
@@ -210,7 +210,7 @@ function () {
|
|
|
210
210
|
return [stateValue];
|
|
211
211
|
}
|
|
212
212
|
|
|
213
|
-
var valueKeys =
|
|
213
|
+
var valueKeys = Object.keys(stateValue);
|
|
214
214
|
return valueKeys.concat.apply(valueKeys, _tslib.__spreadArray([], _tslib.__read(valueKeys.map(function (key) {
|
|
215
215
|
return _this.toStrings(stateValue[key], delimiter).map(function (s) {
|
|
216
216
|
return key + delimiter + s;
|
|
@@ -230,11 +230,6 @@ function () {
|
|
|
230
230
|
tags: Array.from(tags)
|
|
231
231
|
});
|
|
232
232
|
};
|
|
233
|
-
/**
|
|
234
|
-
* Whether the current state value is a subset of the given parent state value.
|
|
235
|
-
* @param parentStateValue
|
|
236
|
-
*/
|
|
237
|
-
|
|
238
233
|
|
|
239
234
|
State.prototype.matches = function (parentStateValue) {
|
|
240
235
|
return utils.matchesState(parentStateValue, this.value);
|
package/lib/StateNode.js
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _tslib = require('./_virtual/_tslib.js');
|
|
6
|
+
var types = require('./types.js');
|
|
7
|
+
var actionTypes = require('./actionTypes.js');
|
|
6
8
|
var constants = require('./constants.js');
|
|
7
9
|
var environment = require('./environment.js');
|
|
8
10
|
var utils = require('./utils.js');
|
|
9
|
-
var types = require('./types.js');
|
|
10
|
-
var stateUtils = require('./stateUtils.js');
|
|
11
|
-
var actionTypes = require('./actionTypes.js');
|
|
12
11
|
var actions = require('./actions.js');
|
|
13
|
-
var State = require('./State.js');
|
|
14
12
|
var Actor = require('./Actor.js');
|
|
13
|
+
var stateUtils = require('./stateUtils.js');
|
|
14
|
+
var State = require('./State.js');
|
|
15
15
|
var invokeUtils = require('./invokeUtils.js');
|
|
16
16
|
|
|
17
17
|
var NULL_EVENT = '';
|
|
@@ -92,7 +92,7 @@ function () {
|
|
|
92
92
|
this.delimiter = this.config.delimiter || (this.parent ? this.parent.delimiter : constants.STATE_DELIMITER);
|
|
93
93
|
this.id = this.config.id || _tslib.__spreadArray([this.machine.key], _tslib.__read(this.path), false).join(this.delimiter);
|
|
94
94
|
this.version = this.parent ? this.parent.version : this.config.version;
|
|
95
|
-
this.type = this.config.type || (this.config.parallel ? 'parallel' : this.config.states &&
|
|
95
|
+
this.type = this.config.type || (this.config.parallel ? 'parallel' : this.config.states && Object.keys(this.config.states).length ? 'compound' : this.config.history ? 'history' : 'atomic');
|
|
96
96
|
this.schema = this.parent ? this.machine.schema : (_a = this.config.schema) !== null && _a !== void 0 ? _a : {};
|
|
97
97
|
this.description = this.config.description;
|
|
98
98
|
|
|
@@ -369,7 +369,7 @@ function () {
|
|
|
369
369
|
return _tslib.__assign(_tslib.__assign({}, transition), {
|
|
370
370
|
event: eventType
|
|
371
371
|
});
|
|
372
|
-
}) : utils.flatten(
|
|
372
|
+
}) : utils.flatten(Object.keys(afterConfig).map(function (delay, i) {
|
|
373
373
|
var configTransition = afterConfig[delay];
|
|
374
374
|
var resolvedTransition = utils.isString(configTransition) ? {
|
|
375
375
|
target: configTransition
|
|
@@ -413,7 +413,7 @@ function () {
|
|
|
413
413
|
return initialStateValue !== undefined ? this.getStateNodes((_a = {}, _a[stateValue] = initialStateValue, _a)) : [this, this.states[stateValue]];
|
|
414
414
|
}
|
|
415
415
|
|
|
416
|
-
var subStateKeys =
|
|
416
|
+
var subStateKeys = Object.keys(stateValue);
|
|
417
417
|
var subStateNodes = [this];
|
|
418
418
|
subStateNodes.push.apply(subStateNodes, _tslib.__spreadArray([], _tslib.__read(utils.flatten(subStateKeys.map(function (subStateKey) {
|
|
419
419
|
return _this.getStateNode(subStateKey).getStateNodes(stateValue[subStateKey]);
|
|
@@ -463,7 +463,7 @@ function () {
|
|
|
463
463
|
};
|
|
464
464
|
|
|
465
465
|
StateNode.prototype.transitionCompoundNode = function (stateValue, state, _event) {
|
|
466
|
-
var subStateKeys =
|
|
466
|
+
var subStateKeys = Object.keys(stateValue);
|
|
467
467
|
var stateNode = this.getStateNode(subStateKeys[0]);
|
|
468
468
|
|
|
469
469
|
var next = stateNode._transition(stateValue[subStateKeys[0]], state, _event);
|
|
@@ -481,7 +481,7 @@ function () {
|
|
|
481
481
|
var transitionMap = {};
|
|
482
482
|
|
|
483
483
|
try {
|
|
484
|
-
for (var _b = _tslib.__values(
|
|
484
|
+
for (var _b = _tslib.__values(Object.keys(stateValue)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
485
485
|
var subStateKey = _c.value;
|
|
486
486
|
var subStateValue = stateValue[subStateKey];
|
|
487
487
|
|
|
@@ -509,7 +509,7 @@ function () {
|
|
|
509
509
|
}
|
|
510
510
|
}
|
|
511
511
|
|
|
512
|
-
var stateTransitions =
|
|
512
|
+
var stateTransitions = Object.keys(transitionMap).map(function (key) {
|
|
513
513
|
return transitionMap[key];
|
|
514
514
|
});
|
|
515
515
|
var enabledTransitions = utils.flatten(stateTransitions.map(function (st) {
|
|
@@ -526,7 +526,7 @@ function () {
|
|
|
526
526
|
var entryNodes = utils.flatten(stateTransitions.map(function (t) {
|
|
527
527
|
return t.entrySet;
|
|
528
528
|
}));
|
|
529
|
-
var configuration = utils.flatten(
|
|
529
|
+
var configuration = utils.flatten(Object.keys(transitionMap).map(function (key) {
|
|
530
530
|
return transitionMap[key].configuration;
|
|
531
531
|
}));
|
|
532
532
|
return {
|
|
@@ -537,7 +537,7 @@ function () {
|
|
|
537
537
|
})),
|
|
538
538
|
configuration: configuration,
|
|
539
539
|
source: state,
|
|
540
|
-
actions: utils.flatten(
|
|
540
|
+
actions: utils.flatten(Object.keys(transitionMap).map(function (key) {
|
|
541
541
|
return transitionMap[key].actions;
|
|
542
542
|
}))
|
|
543
543
|
};
|
|
@@ -550,7 +550,7 @@ function () {
|
|
|
550
550
|
} // hierarchical node
|
|
551
551
|
|
|
552
552
|
|
|
553
|
-
if (
|
|
553
|
+
if (Object.keys(stateValue).length === 1) {
|
|
554
554
|
return this.transitionCompoundNode(stateValue, state, _event);
|
|
555
555
|
} // orthogonal node
|
|
556
556
|
|
|
@@ -1084,7 +1084,7 @@ function () {
|
|
|
1084
1084
|
return stateValue;
|
|
1085
1085
|
}
|
|
1086
1086
|
|
|
1087
|
-
if (!
|
|
1087
|
+
if (!Object.keys(stateValue).length) {
|
|
1088
1088
|
return this.initialStateValue || {};
|
|
1089
1089
|
}
|
|
1090
1090
|
|
|
@@ -1275,7 +1275,7 @@ function () {
|
|
|
1275
1275
|
};
|
|
1276
1276
|
|
|
1277
1277
|
StateNode.prototype.historyValue = function (relativeStateValue) {
|
|
1278
|
-
if (!
|
|
1278
|
+
if (!Object.keys(this.states).length) {
|
|
1279
1279
|
return undefined;
|
|
1280
1280
|
}
|
|
1281
1281
|
|
|
@@ -1335,7 +1335,7 @@ function () {
|
|
|
1335
1335
|
get: function () {
|
|
1336
1336
|
var _this = this;
|
|
1337
1337
|
|
|
1338
|
-
var childStateIds = utils.flatten(
|
|
1338
|
+
var childStateIds = utils.flatten(Object.keys(this.states).map(function (stateKey) {
|
|
1339
1339
|
return _this.states[stateKey].stateIds;
|
|
1340
1340
|
}));
|
|
1341
1341
|
return [this.id].concat(childStateIds);
|
|
@@ -1359,7 +1359,7 @@ function () {
|
|
|
1359
1359
|
|
|
1360
1360
|
if (states) {
|
|
1361
1361
|
try {
|
|
1362
|
-
for (var _c = _tslib.__values(
|
|
1362
|
+
for (var _c = _tslib.__values(Object.keys(states)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
1363
1363
|
var stateId = _d.value;
|
|
1364
1364
|
var state = states[stateId];
|
|
1365
1365
|
|
|
@@ -1502,7 +1502,7 @@ function () {
|
|
|
1502
1502
|
wildcardConfigs = _d === void 0 ? [] : _d,
|
|
1503
1503
|
strictTransitionConfigs_1 = _tslib.__rest(_b, [typeof _c === "symbol" ? _c : _c + ""]);
|
|
1504
1504
|
|
|
1505
|
-
onConfig = utils.flatten(
|
|
1505
|
+
onConfig = utils.flatten(Object.keys(strictTransitionConfigs_1).map(function (key) {
|
|
1506
1506
|
if (!environment.IS_PRODUCTION && key === NULL_EVENT) {
|
|
1507
1507
|
utils.warn(false, "Empty string transition configs (e.g., `{ on: { '': ... }}`) for transient transitions are deprecated. Specify the transition in the `{ always: ... }` property instead. " + "Please check the `on` configuration for \"#".concat(_this.id, "\"."));
|
|
1508
1508
|
}
|
package/lib/actions.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _tslib = require('./_virtual/_tslib.js');
|
|
6
|
-
var environment = require('./environment.js');
|
|
7
|
-
var utils = require('./utils.js');
|
|
8
6
|
var types = require('./types.js');
|
|
9
7
|
var actionTypes = require('./actionTypes.js');
|
|
8
|
+
var environment = require('./environment.js');
|
|
9
|
+
var utils = require('./utils.js');
|
|
10
10
|
|
|
11
11
|
var initEvent = /*#__PURE__*/utils.toSCXMLEvent({
|
|
12
12
|
type: actionTypes.init
|
package/lib/behaviors.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./environment.js');
|
|
6
|
-
var utils = require('./utils.js');
|
|
7
5
|
require('./types.js');
|
|
8
6
|
require('./actionTypes.js');
|
|
7
|
+
require('./environment.js');
|
|
8
|
+
var utils = require('./utils.js');
|
|
9
9
|
var Actor = require('./Actor.js');
|
|
10
10
|
|
|
11
11
|
function spawnBehavior(behavior, options) {
|
package/lib/index.d.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { matchesState } from './utils';
|
|
2
|
-
import { mapState } from './mapState';
|
|
3
|
-
import { StateNode } from './StateNode';
|
|
4
|
-
import { State } from './State';
|
|
5
|
-
import { Machine, createMachine } from './Machine';
|
|
6
|
-
import { Actor } from './Actor';
|
|
7
1
|
import * as actions from './actions';
|
|
8
|
-
import {
|
|
2
|
+
import { Actor, toActorRef } from './Actor';
|
|
3
|
+
import { interpret, Interpreter, InterpreterStatus, spawn } from './interpreter';
|
|
4
|
+
import { createMachine, Machine } from './Machine';
|
|
5
|
+
import { mapState } from './mapState';
|
|
9
6
|
import { matchState } from './match';
|
|
10
7
|
import { createSchema, t } from './schema';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export
|
|
8
|
+
import { State } from './State';
|
|
9
|
+
import { StateNode } from './StateNode';
|
|
10
|
+
export { spawnBehavior } from './behaviors';
|
|
11
|
+
export { XStateDevInterface } from './devTools';
|
|
14
12
|
export * from './typegenTypes';
|
|
13
|
+
export * from './types';
|
|
14
|
+
export { matchesState, toEventObject, toObserver, toSCXMLEvent } from './utils';
|
|
15
|
+
export { Actor, toActorRef, Machine, StateNode, State, mapState, actions, assign, send, sendParent, sendUpdate, forwardTo, interpret, Interpreter, InterpreterStatus, matchState, spawn, doneInvoke, createMachine, createSchema, t };
|
|
16
|
+
declare const assign: <TContext, TEvent extends import("./types").EventObject = import("./types").EventObject>(assignment: import("./types").Assigner<TContext, TEvent> | import("./types").PropertyAssigner<TContext, TEvent>) => import("./types").AssignAction<TContext, TEvent>, send: typeof actions.send, sendParent: typeof actions.sendParent, sendUpdate: typeof actions.sendUpdate, forwardTo: typeof actions.forwardTo, doneInvoke: typeof actions.doneInvoke;
|
|
15
17
|
declare global {
|
|
16
18
|
interface SymbolConstructor {
|
|
17
19
|
readonly observable: symbol;
|
package/lib/index.js
CHANGED
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var utils = require('./utils.js');
|
|
6
|
-
var mapState = require('./mapState.js');
|
|
7
5
|
var types = require('./types.js');
|
|
6
|
+
var utils = require('./utils.js');
|
|
8
7
|
var actions = require('./actions.js');
|
|
8
|
+
var Actor = require('./Actor.js');
|
|
9
9
|
var State = require('./State.js');
|
|
10
|
+
var behaviors = require('./behaviors.js');
|
|
11
|
+
var interpreter = require('./interpreter.js');
|
|
10
12
|
var StateNode = require('./StateNode.js');
|
|
11
13
|
var Machine = require('./Machine.js');
|
|
12
|
-
var
|
|
14
|
+
var mapState = require('./mapState.js');
|
|
13
15
|
var match = require('./match.js');
|
|
14
16
|
var schema = require('./schema.js');
|
|
15
17
|
|
|
@@ -20,8 +22,6 @@ var assign = actions.assign,
|
|
|
20
22
|
forwardTo = actions.forwardTo,
|
|
21
23
|
doneInvoke = actions.doneInvoke;
|
|
22
24
|
|
|
23
|
-
exports.matchesState = utils.matchesState;
|
|
24
|
-
exports.mapState = mapState.mapState;
|
|
25
25
|
Object.defineProperty(exports, 'ActionTypes', {
|
|
26
26
|
enumerable: true,
|
|
27
27
|
get: function () {
|
|
@@ -34,11 +34,14 @@ Object.defineProperty(exports, 'SpecialTargets', {
|
|
|
34
34
|
return types.SpecialTargets;
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
|
+
exports.matchesState = utils.matchesState;
|
|
38
|
+
exports.toEventObject = utils.toEventObject;
|
|
39
|
+
exports.toObserver = utils.toObserver;
|
|
40
|
+
exports.toSCXMLEvent = utils.toSCXMLEvent;
|
|
37
41
|
exports.actions = actions;
|
|
42
|
+
exports.toActorRef = Actor.toActorRef;
|
|
38
43
|
exports.State = State.State;
|
|
39
|
-
exports.
|
|
40
|
-
exports.Machine = Machine.Machine;
|
|
41
|
-
exports.createMachine = Machine.createMachine;
|
|
44
|
+
exports.spawnBehavior = behaviors.spawnBehavior;
|
|
42
45
|
exports.Interpreter = interpreter.Interpreter;
|
|
43
46
|
Object.defineProperty(exports, 'InterpreterStatus', {
|
|
44
47
|
enumerable: true,
|
|
@@ -48,6 +51,10 @@ Object.defineProperty(exports, 'InterpreterStatus', {
|
|
|
48
51
|
});
|
|
49
52
|
exports.interpret = interpreter.interpret;
|
|
50
53
|
exports.spawn = interpreter.spawn;
|
|
54
|
+
exports.StateNode = StateNode.StateNode;
|
|
55
|
+
exports.Machine = Machine.Machine;
|
|
56
|
+
exports.createMachine = Machine.createMachine;
|
|
57
|
+
exports.mapState = mapState.mapState;
|
|
51
58
|
exports.matchState = match.matchState;
|
|
52
59
|
exports.createSchema = schema.createSchema;
|
|
53
60
|
exports.t = schema.t;
|
package/lib/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/lib/interpreter.js
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _tslib = require('./_virtual/_tslib.js');
|
|
6
|
-
var environment = require('./environment.js');
|
|
7
|
-
var utils = require('./utils.js');
|
|
8
6
|
var types = require('./types.js');
|
|
9
|
-
var stateUtils = require('./stateUtils.js');
|
|
10
7
|
var actionTypes = require('./actionTypes.js');
|
|
8
|
+
var environment = require('./environment.js');
|
|
9
|
+
var utils = require('./utils.js');
|
|
11
10
|
var actions = require('./actions.js');
|
|
12
|
-
var State = require('./State.js');
|
|
13
11
|
var serviceScope = require('./serviceScope.js');
|
|
14
12
|
var Actor = require('./Actor.js');
|
|
13
|
+
var stateUtils = require('./stateUtils.js');
|
|
14
|
+
var State = require('./State.js');
|
|
15
15
|
var scheduler = require('./scheduler.js');
|
|
16
16
|
var registry = require('./registry.js');
|
|
17
17
|
var devTools = require('./devTools.js');
|
|
@@ -27,6 +27,8 @@ var DEFAULT_SPAWN_OPTIONS = {
|
|
|
27
27
|
InterpreterStatus[InterpreterStatus["Running"] = 1] = "Running";
|
|
28
28
|
InterpreterStatus[InterpreterStatus["Stopped"] = 2] = "Stopped";
|
|
29
29
|
})(exports.InterpreterStatus || (exports.InterpreterStatus = {}));
|
|
30
|
+
/** @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 */
|
|
31
|
+
|
|
30
32
|
|
|
31
33
|
var Interpreter =
|
|
32
34
|
/*#__PURE__*/
|
|
@@ -594,7 +596,7 @@ function () {
|
|
|
594
596
|
|
|
595
597
|
try {
|
|
596
598
|
// Cancel all delayed events
|
|
597
|
-
for (var _p = _tslib.__values(
|
|
599
|
+
for (var _p = _tslib.__values(Object.keys(this.delayedEventsMap)), _q = _p.next(); !_q.done; _q = _p.next()) {
|
|
598
600
|
var key = _q.value;
|
|
599
601
|
this.clock.clearTimeout(this.delayedEventsMap[key]);
|
|
600
602
|
}
|
|
@@ -1000,6 +1002,8 @@ function () {
|
|
|
1000
1002
|
};
|
|
1001
1003
|
|
|
1002
1004
|
Interpreter.prototype.spawnPromise = function (promise, id) {
|
|
1005
|
+
var _a;
|
|
1006
|
+
|
|
1003
1007
|
var _this = this;
|
|
1004
1008
|
|
|
1005
1009
|
var canceled = false;
|
|
@@ -1042,8 +1046,7 @@ function () {
|
|
|
1042
1046
|
}
|
|
1043
1047
|
}
|
|
1044
1048
|
});
|
|
1045
|
-
|
|
1046
|
-
var actor = _tslib.__assign({
|
|
1049
|
+
var actor = (_a = {
|
|
1047
1050
|
id: id,
|
|
1048
1051
|
send: function () {
|
|
1049
1052
|
return void 0;
|
|
@@ -1087,13 +1090,16 @@ function () {
|
|
|
1087
1090
|
getSnapshot: function () {
|
|
1088
1091
|
return resolvedData;
|
|
1089
1092
|
}
|
|
1090
|
-
}, utils.
|
|
1091
|
-
|
|
1093
|
+
}, _a[utils.symbolObservable] = function () {
|
|
1094
|
+
return this;
|
|
1095
|
+
}, _a);
|
|
1092
1096
|
this.children.set(id, actor);
|
|
1093
1097
|
return actor;
|
|
1094
1098
|
};
|
|
1095
1099
|
|
|
1096
1100
|
Interpreter.prototype.spawnCallback = function (callback, id) {
|
|
1101
|
+
var _a;
|
|
1102
|
+
|
|
1097
1103
|
var _this = this;
|
|
1098
1104
|
|
|
1099
1105
|
var canceled = false;
|
|
@@ -1132,7 +1138,7 @@ function () {
|
|
|
1132
1138
|
return this.spawnPromise(callbackStop, id);
|
|
1133
1139
|
}
|
|
1134
1140
|
|
|
1135
|
-
var actor =
|
|
1141
|
+
var actor = (_a = {
|
|
1136
1142
|
id: id,
|
|
1137
1143
|
send: function (event) {
|
|
1138
1144
|
return receivers.forEach(function (receiver) {
|
|
@@ -1140,10 +1146,11 @@ function () {
|
|
|
1140
1146
|
});
|
|
1141
1147
|
},
|
|
1142
1148
|
subscribe: function (next) {
|
|
1143
|
-
|
|
1149
|
+
var observer = utils.toObserver(next);
|
|
1150
|
+
listeners.add(observer.next);
|
|
1144
1151
|
return {
|
|
1145
1152
|
unsubscribe: function () {
|
|
1146
|
-
listeners.delete(next);
|
|
1153
|
+
listeners.delete(observer.next);
|
|
1147
1154
|
}
|
|
1148
1155
|
};
|
|
1149
1156
|
},
|
|
@@ -1162,13 +1169,16 @@ function () {
|
|
|
1162
1169
|
getSnapshot: function () {
|
|
1163
1170
|
return emitted;
|
|
1164
1171
|
}
|
|
1165
|
-
}, utils.
|
|
1166
|
-
|
|
1172
|
+
}, _a[utils.symbolObservable] = function () {
|
|
1173
|
+
return this;
|
|
1174
|
+
}, _a);
|
|
1167
1175
|
this.children.set(id, actor);
|
|
1168
1176
|
return actor;
|
|
1169
1177
|
};
|
|
1170
1178
|
|
|
1171
1179
|
Interpreter.prototype.spawnObservable = function (source, id) {
|
|
1180
|
+
var _a;
|
|
1181
|
+
|
|
1172
1182
|
var _this = this;
|
|
1173
1183
|
|
|
1174
1184
|
var emitted;
|
|
@@ -1191,8 +1201,7 @@ function () {
|
|
|
1191
1201
|
origin: id
|
|
1192
1202
|
}));
|
|
1193
1203
|
});
|
|
1194
|
-
|
|
1195
|
-
var actor = _tslib.__assign({
|
|
1204
|
+
var actor = (_a = {
|
|
1196
1205
|
id: id,
|
|
1197
1206
|
send: function () {
|
|
1198
1207
|
return void 0;
|
|
@@ -1211,8 +1220,9 @@ function () {
|
|
|
1211
1220
|
id: id
|
|
1212
1221
|
};
|
|
1213
1222
|
}
|
|
1214
|
-
}, utils.
|
|
1215
|
-
|
|
1223
|
+
}, _a[utils.symbolObservable] = function () {
|
|
1224
|
+
return this;
|
|
1225
|
+
}, _a);
|
|
1216
1226
|
this.children.set(id, actor);
|
|
1217
1227
|
return actor;
|
|
1218
1228
|
};
|
|
@@ -1240,7 +1250,9 @@ function () {
|
|
|
1240
1250
|
};
|
|
1241
1251
|
|
|
1242
1252
|
Interpreter.prototype.spawnEffect = function (id, dispose) {
|
|
1243
|
-
|
|
1253
|
+
var _a;
|
|
1254
|
+
|
|
1255
|
+
this.children.set(id, (_a = {
|
|
1244
1256
|
id: id,
|
|
1245
1257
|
send: function () {
|
|
1246
1258
|
return void 0;
|
|
@@ -1261,7 +1273,9 @@ function () {
|
|
|
1261
1273
|
id: id
|
|
1262
1274
|
};
|
|
1263
1275
|
}
|
|
1264
|
-
}, utils.
|
|
1276
|
+
}, _a[utils.symbolObservable] = function () {
|
|
1277
|
+
return this;
|
|
1278
|
+
}, _a));
|
|
1265
1279
|
};
|
|
1266
1280
|
|
|
1267
1281
|
Interpreter.prototype.attachDev = function () {
|
|
@@ -1299,12 +1313,12 @@ function () {
|
|
|
1299
1313
|
id: this.id
|
|
1300
1314
|
};
|
|
1301
1315
|
};
|
|
1316
|
+
/** @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 */
|
|
1317
|
+
|
|
1302
1318
|
|
|
1303
1319
|
Interpreter.prototype[utils.symbolObservable] = function () {
|
|
1304
1320
|
return this;
|
|
1305
|
-
};
|
|
1306
|
-
// it has to be here to be included in the generated .d.ts
|
|
1307
|
-
|
|
1321
|
+
};
|
|
1308
1322
|
|
|
1309
1323
|
Interpreter.prototype.getSnapshot = function () {
|
|
1310
1324
|
if (this.status === exports.InterpreterStatus.NotStarted) {
|
package/lib/invokeUtils.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _tslib = require('./_virtual/_tslib.js');
|
|
6
|
-
require('./environment.js');
|
|
7
|
-
require('./utils.js');
|
|
8
6
|
require('./types.js');
|
|
9
7
|
var actionTypes = require('./actionTypes.js');
|
|
8
|
+
require('./environment.js');
|
|
9
|
+
require('./utils.js');
|
|
10
10
|
|
|
11
11
|
function toInvokeSource(src) {
|
|
12
12
|
if (typeof src === 'string') {
|
package/lib/mapState.js
CHANGED
|
@@ -11,7 +11,7 @@ function mapState(stateMap, stateId) {
|
|
|
11
11
|
var foundStateId;
|
|
12
12
|
|
|
13
13
|
try {
|
|
14
|
-
for (var _b = _tslib.__values(
|
|
14
|
+
for (var _b = _tslib.__values(Object.keys(stateMap)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
15
15
|
var mappedStateId = _c.value;
|
|
16
16
|
|
|
17
17
|
if (utils.matchesState(mappedStateId, stateId) && (!foundStateId || stateId.length > foundStateId.length)) {
|
package/lib/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/lib/scxml.js
CHANGED
|
@@ -108,7 +108,7 @@ function delayToMs(delay) {
|
|
|
108
108
|
}
|
|
109
109
|
var evaluateExecutableContent = function (context, _ev, meta, body) {
|
|
110
110
|
var datamodel = context
|
|
111
|
-
?
|
|
111
|
+
? Object.keys(context)
|
|
112
112
|
.map(function (key) { return "const ".concat(key, " = context['").concat(key, "'];"); })
|
|
113
113
|
.join('\n')
|
|
114
114
|
: '';
|
package/lib/stateUtils.js
CHANGED
|
@@ -9,7 +9,7 @@ var isLeafNode = function (stateNode) {
|
|
|
9
9
|
return stateNode.type === 'atomic' || stateNode.type === 'final';
|
|
10
10
|
};
|
|
11
11
|
function getChildren(stateNode) {
|
|
12
|
-
return
|
|
12
|
+
return Object.keys(stateNode.states).map(function (key) {
|
|
13
13
|
return stateNode.states[key];
|
|
14
14
|
});
|
|
15
15
|
}
|