xstate 5.0.0-beta.7 → 5.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/dist/xstate-actions.cjs.d.mts +2 -0
- package/actions/dist/xstate-actions.cjs.d.mts.map +1 -0
- package/actions/dist/xstate-actions.cjs.d.ts +1 -0
- package/actions/dist/xstate-actions.cjs.d.ts.map +1 -0
- package/actions/dist/xstate-actions.cjs.dev.js +2 -1
- package/actions/dist/xstate-actions.cjs.mjs +25 -0
- package/actions/dist/xstate-actions.cjs.prod.js +3 -2
- package/actions/dist/xstate-actions.esm.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js.map +1 -1
- package/actors/dist/xstate-actors.cjs.d.mts +2 -0
- package/actors/dist/xstate-actors.cjs.d.mts.map +1 -0
- package/actors/dist/xstate-actors.cjs.d.ts +1 -0
- package/actors/dist/xstate-actors.cjs.d.ts.map +1 -0
- package/actors/dist/xstate-actors.cjs.dev.js +2 -1
- package/actors/dist/xstate-actors.cjs.mjs +15 -0
- package/actors/dist/xstate-actors.cjs.prod.js +3 -2
- package/actors/dist/xstate-actors.esm.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js.map +1 -1
- package/dev/dist/xstate-dev.cjs.d.mts +2 -0
- package/dev/dist/xstate-dev.cjs.d.mts.map +1 -0
- package/dev/dist/xstate-dev.cjs.d.ts +1 -0
- package/dev/dist/xstate-dev.cjs.d.ts.map +1 -0
- package/dev/dist/xstate-dev.cjs.mjs +5 -0
- package/dev/dist/xstate-dev.cjs.prod.js +6 -43
- package/dev/dist/xstate-dev.umd.min.js.map +1 -1
- package/dist/{actions-0fcf4fd9.cjs.dev.js → actions-b6357569.cjs.dev.js} +252 -157
- package/dist/{actions-a1a641d3.cjs.prod.js → actions-bd4a184d.cjs.prod.js} +279 -160
- package/dist/{actions-b334e916.esm.js → actions-de434a04.esm.js} +208 -147
- package/dist/declarations/src/StateMachine.d.ts +2 -2
- package/dist/declarations/src/actions.d.ts +1 -0
- package/dist/declarations/src/actors/index.d.ts +2 -1
- package/dist/declarations/src/actors/observable.d.ts +1 -2
- package/dist/declarations/src/actors/promise.d.ts +1 -2
- package/dist/declarations/src/index.d.ts +12 -28
- package/dist/declarations/src/interpreter.d.ts +3 -2
- package/dist/declarations/src/typegenTypes.d.ts +7 -1
- package/dist/declarations/src/types.d.ts +5 -4
- package/dist/declarations/src/waitFor.d.ts +33 -0
- package/dist/index-0f3fdf0c.cjs.prod.js +52 -0
- package/dist/xstate.cjs.d.mts +2 -0
- package/dist/xstate.cjs.d.mts.map +1 -0
- package/dist/xstate.cjs.d.ts +1 -0
- package/dist/xstate.cjs.d.ts.map +1 -0
- package/dist/xstate.cjs.dev.js +97 -68
- package/dist/xstate.cjs.mjs +39 -0
- package/dist/xstate.cjs.prod.js +95 -69
- package/dist/xstate.esm.js +80 -57
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/guards/dist/xstate-guards.cjs.d.mts +2 -0
- package/guards/dist/xstate-guards.cjs.d.mts.map +1 -0
- package/guards/dist/xstate-guards.cjs.d.ts +1 -0
- package/guards/dist/xstate-guards.cjs.d.ts.map +1 -0
- package/guards/dist/xstate-guards.cjs.dev.js +1 -1
- package/guards/dist/xstate-guards.cjs.mjs +8 -0
- package/guards/dist/xstate-guards.cjs.prod.js +2 -2
- package/guards/dist/xstate-guards.esm.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js.map +1 -1
- package/package.json +7 -1
- package/dist/declarations/src/schema.d.ts +0 -2
|
@@ -1,8 +1,40 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var dev_dist_xstateDev = require('
|
|
3
|
+
var dev_dist_xstateDev = require('./index-0f3fdf0c.cjs.prod.js');
|
|
4
4
|
|
|
5
5
|
// https://github.com/microsoft/TypeScript/issues/23182#issuecomment-379091887
|
|
6
|
+
|
|
7
|
+
// TODO: replace in v5 with:
|
|
8
|
+
// export type IndexByType<T extends { type: string }> = { [E in T as E['type']]: E; };
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The full definition of an event, with a string `type`.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
// TODO: do not accept machines without all implementations
|
|
15
|
+
// we should also accept a raw machine as a behavior here
|
|
16
|
+
// or just make machine a behavior
|
|
17
|
+
|
|
18
|
+
// TODO: narrow this to behaviors from machine
|
|
19
|
+
|
|
20
|
+
// TODO: fix last param
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Extracts action objects that have no extra properties.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The string or object representing the state value relative to the parent state node.
|
|
28
|
+
*
|
|
29
|
+
* - For a child atomic state node, this is a string, e.g., `"pending"`.
|
|
30
|
+
* - For complex state nodes, this is an object, e.g., `{ success: "someChildState" }`.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
// TODO: remove once TS fixes this type-widening issue
|
|
34
|
+
|
|
35
|
+
// TODO: possibly refactor this somehow, use even a simpler type, and maybe even make `machine.options` private or something
|
|
36
|
+
|
|
37
|
+
exports.ActionTypes = void 0;
|
|
6
38
|
(function (ActionTypes) {
|
|
7
39
|
ActionTypes["Stop"] = "xstate.stop";
|
|
8
40
|
ActionTypes["Raise"] = "xstate.raise";
|
|
@@ -22,45 +54,46 @@ var dev_dist_xstateDev = require('../dev/dist/xstate-dev.cjs.prod.js');
|
|
|
22
54
|
ActionTypes["Pure"] = "xstate.pure";
|
|
23
55
|
ActionTypes["Choose"] = "xstate.choose";
|
|
24
56
|
})(exports.ActionTypes || (exports.ActionTypes = {}));
|
|
57
|
+
exports.SpecialTargets = void 0;
|
|
25
58
|
(function (SpecialTargets) {
|
|
26
59
|
SpecialTargets["Parent"] = "#_parent";
|
|
27
60
|
SpecialTargets["Internal"] = "#_internal";
|
|
28
61
|
})(exports.SpecialTargets || (exports.SpecialTargets = {}));
|
|
29
62
|
|
|
30
63
|
// xstate-specific action types
|
|
31
|
-
var stop = exports.ActionTypes.Stop;
|
|
32
|
-
var raise = exports.ActionTypes.Raise;
|
|
33
|
-
var send = exports.ActionTypes.Send;
|
|
34
|
-
var cancel = exports.ActionTypes.Cancel;
|
|
35
|
-
var assign = exports.ActionTypes.Assign;
|
|
36
|
-
var after = exports.ActionTypes.After;
|
|
64
|
+
var stop$1 = exports.ActionTypes.Stop;
|
|
65
|
+
var raise$1 = exports.ActionTypes.Raise;
|
|
66
|
+
var send$1 = exports.ActionTypes.Send;
|
|
67
|
+
var cancel$1 = exports.ActionTypes.Cancel;
|
|
68
|
+
var assign$1 = exports.ActionTypes.Assign;
|
|
69
|
+
var after$1 = exports.ActionTypes.After;
|
|
37
70
|
var doneState = exports.ActionTypes.DoneState;
|
|
38
|
-
var log = exports.ActionTypes.Log;
|
|
71
|
+
var log$1 = exports.ActionTypes.Log;
|
|
39
72
|
var init = exports.ActionTypes.Init;
|
|
40
|
-
var invoke = exports.ActionTypes.Invoke;
|
|
73
|
+
var invoke$1 = exports.ActionTypes.Invoke;
|
|
41
74
|
var errorExecution = exports.ActionTypes.ErrorExecution;
|
|
42
75
|
var errorPlatform = exports.ActionTypes.ErrorPlatform;
|
|
43
|
-
var error = exports.ActionTypes.ErrorCustom;
|
|
44
|
-
var choose = exports.ActionTypes.Choose;
|
|
45
|
-
var pure = exports.ActionTypes.Pure;
|
|
76
|
+
var error$1 = exports.ActionTypes.ErrorCustom;
|
|
77
|
+
var choose$1 = exports.ActionTypes.Choose;
|
|
78
|
+
var pure$1 = exports.ActionTypes.Pure;
|
|
46
79
|
|
|
47
80
|
var actionTypes = /*#__PURE__*/Object.freeze({
|
|
48
81
|
__proto__: null,
|
|
49
|
-
stop: stop,
|
|
50
|
-
raise: raise,
|
|
51
|
-
send: send,
|
|
52
|
-
cancel: cancel,
|
|
53
|
-
assign: assign,
|
|
54
|
-
after: after,
|
|
82
|
+
stop: stop$1,
|
|
83
|
+
raise: raise$1,
|
|
84
|
+
send: send$1,
|
|
85
|
+
cancel: cancel$1,
|
|
86
|
+
assign: assign$1,
|
|
87
|
+
after: after$1,
|
|
55
88
|
doneState: doneState,
|
|
56
|
-
log: log,
|
|
89
|
+
log: log$1,
|
|
57
90
|
init: init,
|
|
58
|
-
invoke: invoke,
|
|
91
|
+
invoke: invoke$1,
|
|
59
92
|
errorExecution: errorExecution,
|
|
60
93
|
errorPlatform: errorPlatform,
|
|
61
|
-
error: error,
|
|
62
|
-
choose: choose,
|
|
63
|
-
pure: pure
|
|
94
|
+
error: error$1,
|
|
95
|
+
choose: choose$1,
|
|
96
|
+
pure: pure$1
|
|
64
97
|
});
|
|
65
98
|
|
|
66
99
|
function _toPrimitive(input, hint) {
|
|
@@ -380,6 +413,22 @@ function isPromiseLike(value) {
|
|
|
380
413
|
|
|
381
414
|
// tslint:disable-next-line:no-empty
|
|
382
415
|
var warn = function warn() {};
|
|
416
|
+
if (!dev_dist_xstateDev.IS_PRODUCTION) {
|
|
417
|
+
warn = function warn(condition, message) {
|
|
418
|
+
var error = condition instanceof Error ? condition : undefined;
|
|
419
|
+
if (!error && condition) {
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
if (console !== undefined) {
|
|
423
|
+
var args = ["Warning: ".concat(message)];
|
|
424
|
+
if (error) {
|
|
425
|
+
args.push(error);
|
|
426
|
+
}
|
|
427
|
+
// tslint:disable-next-line:no-console
|
|
428
|
+
console.warn.apply(console, args);
|
|
429
|
+
}
|
|
430
|
+
};
|
|
431
|
+
}
|
|
383
432
|
function isArray(value) {
|
|
384
433
|
return Array.isArray(value);
|
|
385
434
|
}
|
|
@@ -488,9 +537,9 @@ function isDynamicAction(action) {
|
|
|
488
537
|
* - `delay` - The number of milliseconds to delay the sending of the event.
|
|
489
538
|
* - `to` - The target of this event (by default, the machine the event was sent from).
|
|
490
539
|
*/
|
|
491
|
-
function send
|
|
540
|
+
function send(eventOrExpr, options) {
|
|
492
541
|
return createDynamicAction({
|
|
493
|
-
type: send,
|
|
542
|
+
type: send$1,
|
|
494
543
|
params: {
|
|
495
544
|
to: options ? options.to : undefined,
|
|
496
545
|
delay: options ? options.delay : undefined,
|
|
@@ -519,6 +568,9 @@ function send$1(eventOrExpr, options) {
|
|
|
519
568
|
var delaysMap = state.machine.options.delays;
|
|
520
569
|
|
|
521
570
|
// TODO: helper function for resolving Expr
|
|
571
|
+
if (typeof eventOrExpr === 'string') {
|
|
572
|
+
throw new Error("Only event objects may be used with sendTo; use sendTo({ type: \"".concat(eventOrExpr, "\" }) instead"));
|
|
573
|
+
}
|
|
522
574
|
var resolvedEvent = toSCXMLEvent(isFunction(eventOrExpr) ? eventOrExpr(args) : eventOrExpr);
|
|
523
575
|
var resolvedDelay;
|
|
524
576
|
if (isString(params.delay)) {
|
|
@@ -548,7 +600,7 @@ function send$1(eventOrExpr, options) {
|
|
|
548
600
|
targetActorRef = resolvedTarget || (actorContext === null || actorContext === void 0 ? void 0 : actorContext.self);
|
|
549
601
|
}
|
|
550
602
|
var resolvedAction = {
|
|
551
|
-
type: send,
|
|
603
|
+
type: send$1,
|
|
552
604
|
params: _objectSpread2(_objectSpread2({}, params), {}, {
|
|
553
605
|
to: targetActorRef,
|
|
554
606
|
_event: resolvedEvent,
|
|
@@ -567,7 +619,7 @@ function send$1(eventOrExpr, options) {
|
|
|
567
619
|
actorCtx.defer(function () {
|
|
568
620
|
var origin = actorCtx.self;
|
|
569
621
|
var resolvedEvent = _objectSpread2(_objectSpread2({}, _event2), {}, {
|
|
570
|
-
name: _event2.name === error ? "".concat(error
|
|
622
|
+
name: _event2.name === error$1 ? "".concat(error(origin.id)) : _event2.name,
|
|
571
623
|
origin: origin
|
|
572
624
|
});
|
|
573
625
|
target.send(resolvedEvent);
|
|
@@ -586,7 +638,7 @@ function send$1(eventOrExpr, options) {
|
|
|
586
638
|
* @param options Options to pass into the send event.
|
|
587
639
|
*/
|
|
588
640
|
function sendParent(event, options) {
|
|
589
|
-
return send
|
|
641
|
+
return send(event, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
590
642
|
to: exports.SpecialTargets.Parent
|
|
591
643
|
}));
|
|
592
644
|
}
|
|
@@ -598,7 +650,7 @@ function sendParent(event, options) {
|
|
|
598
650
|
* @param options Options to pass into the send event
|
|
599
651
|
*/
|
|
600
652
|
function respond(event, options) {
|
|
601
|
-
return send
|
|
653
|
+
return send(event, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
602
654
|
to: function to(_ref2) {
|
|
603
655
|
var _event = _ref2._event;
|
|
604
656
|
return _event.origin; // TODO: handle when _event.origin is undefined
|
|
@@ -623,7 +675,7 @@ function forwardTo(target, options) {
|
|
|
623
675
|
return resolvedTarget;
|
|
624
676
|
};
|
|
625
677
|
}
|
|
626
|
-
return send
|
|
678
|
+
return send(function (_ref3) {
|
|
627
679
|
var event = _ref3.event;
|
|
628
680
|
return event;
|
|
629
681
|
}, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
@@ -641,7 +693,7 @@ function forwardTo(target, options) {
|
|
|
641
693
|
function escalate(errorData, options) {
|
|
642
694
|
return sendParent(function (arg) {
|
|
643
695
|
return {
|
|
644
|
-
type: error,
|
|
696
|
+
type: error$1,
|
|
645
697
|
data: isFunction(errorData) ? errorData(arg) : errorData
|
|
646
698
|
};
|
|
647
699
|
}, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
@@ -658,7 +710,7 @@ function escalate(errorData, options) {
|
|
|
658
710
|
* @returns An XState send action object
|
|
659
711
|
*/
|
|
660
712
|
function sendTo(actor, event, options) {
|
|
661
|
-
return send
|
|
713
|
+
return send(event, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
662
714
|
to: actor
|
|
663
715
|
}));
|
|
664
716
|
}
|
|
@@ -816,25 +868,28 @@ promiseCreator) {
|
|
|
816
868
|
var behavior = {
|
|
817
869
|
transition: function transition(state, event) {
|
|
818
870
|
var _event = toSCXMLEvent(event);
|
|
819
|
-
if (state.
|
|
871
|
+
if (state.status !== 'active') {
|
|
820
872
|
return state;
|
|
821
873
|
}
|
|
822
874
|
var eventObject = _event.data;
|
|
823
875
|
switch (_event.name) {
|
|
824
876
|
case resolveEventType:
|
|
825
|
-
state
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
877
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
878
|
+
status: 'done',
|
|
879
|
+
data: eventObject.data,
|
|
880
|
+
input: undefined
|
|
881
|
+
});
|
|
829
882
|
case rejectEventType:
|
|
830
|
-
state
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
883
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
884
|
+
status: 'error',
|
|
885
|
+
data: eventObject.data,
|
|
886
|
+
input: undefined
|
|
887
|
+
});
|
|
834
888
|
case stopSignalType:
|
|
835
|
-
state
|
|
836
|
-
|
|
837
|
-
|
|
889
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
890
|
+
status: 'canceled',
|
|
891
|
+
input: undefined
|
|
892
|
+
});
|
|
838
893
|
default:
|
|
839
894
|
return state;
|
|
840
895
|
}
|
|
@@ -850,11 +905,19 @@ promiseCreator) {
|
|
|
850
905
|
input: state.input
|
|
851
906
|
}));
|
|
852
907
|
resolvedPromise.then(function (response) {
|
|
908
|
+
// TODO: remove this condition once dead letter queue lands
|
|
909
|
+
if (self._state.status !== 'active') {
|
|
910
|
+
return;
|
|
911
|
+
}
|
|
853
912
|
self.send({
|
|
854
913
|
type: resolveEventType,
|
|
855
914
|
data: response
|
|
856
915
|
});
|
|
857
916
|
}, function (errorData) {
|
|
917
|
+
// TODO: remove this condition once dead letter queue lands
|
|
918
|
+
if (self._state.status !== 'active') {
|
|
919
|
+
return;
|
|
920
|
+
}
|
|
858
921
|
self.send({
|
|
859
922
|
type: rejectEventType,
|
|
860
923
|
data: errorData
|
|
@@ -863,7 +926,6 @@ promiseCreator) {
|
|
|
863
926
|
},
|
|
864
927
|
getInitialState: function getInitialState(_, input) {
|
|
865
928
|
return {
|
|
866
|
-
canceled: false,
|
|
867
929
|
status: 'active',
|
|
868
930
|
data: undefined,
|
|
869
931
|
input: input
|
|
@@ -898,12 +960,11 @@ function fromObservable(observableCreator) {
|
|
|
898
960
|
id = _ref.id,
|
|
899
961
|
defer = _ref.defer;
|
|
900
962
|
var _event = toSCXMLEvent(event);
|
|
901
|
-
if (state.
|
|
963
|
+
if (state.status !== 'active') {
|
|
902
964
|
return state;
|
|
903
965
|
}
|
|
904
966
|
switch (_event.name) {
|
|
905
967
|
case nextEventType:
|
|
906
|
-
state.data = event.data.data;
|
|
907
968
|
// match the exact timing of events sent by machines
|
|
908
969
|
// send actions are not executed immediately
|
|
909
970
|
defer(function () {
|
|
@@ -915,21 +976,29 @@ function fromObservable(observableCreator) {
|
|
|
915
976
|
origin: self
|
|
916
977
|
}));
|
|
917
978
|
});
|
|
918
|
-
return state
|
|
979
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
980
|
+
data: event.data.data
|
|
981
|
+
});
|
|
919
982
|
case errorEventType:
|
|
920
|
-
state
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
983
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
984
|
+
status: 'error',
|
|
985
|
+
input: undefined,
|
|
986
|
+
data: _event.data.data,
|
|
987
|
+
subscription: undefined
|
|
988
|
+
});
|
|
924
989
|
case completeEventType:
|
|
925
|
-
state
|
|
926
|
-
|
|
927
|
-
|
|
990
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
991
|
+
status: 'done',
|
|
992
|
+
input: undefined,
|
|
993
|
+
subscription: undefined
|
|
994
|
+
});
|
|
928
995
|
case stopSignalType:
|
|
929
|
-
state.canceled = true;
|
|
930
|
-
delete state.input;
|
|
931
996
|
state.subscription.unsubscribe();
|
|
932
|
-
return state
|
|
997
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
998
|
+
status: 'canceled',
|
|
999
|
+
input: undefined,
|
|
1000
|
+
subscription: undefined
|
|
1001
|
+
});
|
|
933
1002
|
default:
|
|
934
1003
|
return state;
|
|
935
1004
|
}
|
|
@@ -937,7 +1006,6 @@ function fromObservable(observableCreator) {
|
|
|
937
1006
|
getInitialState: function getInitialState(_, input) {
|
|
938
1007
|
return {
|
|
939
1008
|
subscription: undefined,
|
|
940
|
-
canceled: false,
|
|
941
1009
|
status: 'active',
|
|
942
1010
|
data: undefined,
|
|
943
1011
|
input: input
|
|
@@ -975,12 +1043,10 @@ function fromObservable(observableCreator) {
|
|
|
975
1043
|
return state.data;
|
|
976
1044
|
},
|
|
977
1045
|
getPersistedState: function getPersistedState(_ref3) {
|
|
978
|
-
var
|
|
979
|
-
status = _ref3.status,
|
|
1046
|
+
var status = _ref3.status,
|
|
980
1047
|
data = _ref3.data,
|
|
981
1048
|
input = _ref3.input;
|
|
982
1049
|
return {
|
|
983
|
-
canceled: canceled,
|
|
984
1050
|
status: status,
|
|
985
1051
|
data: data,
|
|
986
1052
|
input: input
|
|
@@ -1015,24 +1081,30 @@ function fromEventObservable(lazyObservable) {
|
|
|
1015
1081
|
var behavior = {
|
|
1016
1082
|
transition: function transition(state, event) {
|
|
1017
1083
|
var _event = toSCXMLEvent(event);
|
|
1018
|
-
if (state.
|
|
1084
|
+
if (state.status !== 'active') {
|
|
1019
1085
|
return state;
|
|
1020
1086
|
}
|
|
1021
1087
|
switch (_event.name) {
|
|
1022
1088
|
case errorEventType:
|
|
1023
|
-
state
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1089
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
1090
|
+
status: 'error',
|
|
1091
|
+
input: undefined,
|
|
1092
|
+
data: _event.data.data,
|
|
1093
|
+
subscription: undefined
|
|
1094
|
+
});
|
|
1027
1095
|
case completeEventType:
|
|
1028
|
-
state
|
|
1029
|
-
|
|
1030
|
-
|
|
1096
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
1097
|
+
status: 'done',
|
|
1098
|
+
input: undefined,
|
|
1099
|
+
subscription: undefined
|
|
1100
|
+
});
|
|
1031
1101
|
case stopSignalType:
|
|
1032
|
-
state.canceled = true;
|
|
1033
|
-
delete state.input;
|
|
1034
1102
|
state.subscription.unsubscribe();
|
|
1035
|
-
return state
|
|
1103
|
+
return _objectSpread2(_objectSpread2({}, state), {}, {
|
|
1104
|
+
status: 'canceled',
|
|
1105
|
+
input: undefined,
|
|
1106
|
+
subscription: undefined
|
|
1107
|
+
});
|
|
1036
1108
|
default:
|
|
1037
1109
|
return state;
|
|
1038
1110
|
}
|
|
@@ -1040,7 +1112,6 @@ function fromEventObservable(lazyObservable) {
|
|
|
1040
1112
|
getInitialState: function getInitialState() {
|
|
1041
1113
|
return {
|
|
1042
1114
|
subscription: undefined,
|
|
1043
|
-
canceled: false,
|
|
1044
1115
|
status: 'active',
|
|
1045
1116
|
data: undefined
|
|
1046
1117
|
};
|
|
@@ -1077,12 +1148,10 @@ function fromEventObservable(lazyObservable) {
|
|
|
1077
1148
|
return undefined;
|
|
1078
1149
|
},
|
|
1079
1150
|
getPersistedState: function getPersistedState(_ref5) {
|
|
1080
|
-
var
|
|
1081
|
-
status = _ref5.status,
|
|
1151
|
+
var status = _ref5.status,
|
|
1082
1152
|
data = _ref5.data,
|
|
1083
1153
|
input = _ref5.input;
|
|
1084
1154
|
return {
|
|
1085
|
-
canceled: canceled,
|
|
1086
1155
|
status: status,
|
|
1087
1156
|
data: data,
|
|
1088
1157
|
input: input
|
|
@@ -1116,7 +1185,7 @@ function fromCallback(invokeCallback) {
|
|
|
1116
1185
|
var sender = function sender(eventForParent) {
|
|
1117
1186
|
var _self$_parent;
|
|
1118
1187
|
if (state.canceled) {
|
|
1119
|
-
return
|
|
1188
|
+
return;
|
|
1120
1189
|
}
|
|
1121
1190
|
(_self$_parent = self._parent) === null || _self$_parent === void 0 ? void 0 : _self$_parent.send(toSCXMLEvent(eventForParent, {
|
|
1122
1191
|
origin: self
|
|
@@ -1137,7 +1206,7 @@ function fromCallback(invokeCallback) {
|
|
|
1137
1206
|
state.canceled = true;
|
|
1138
1207
|
}, function (errorData) {
|
|
1139
1208
|
var _self$_parent3;
|
|
1140
|
-
var errorEvent = error
|
|
1209
|
+
var errorEvent = error(id, errorData);
|
|
1141
1210
|
(_self$_parent3 = self._parent) === null || _self$_parent3 === void 0 ? void 0 : _self$_parent3.send(toSCXMLEvent(errorEvent, {
|
|
1142
1211
|
origin: self
|
|
1143
1212
|
}));
|
|
@@ -1231,6 +1300,12 @@ function toActorRef(actorRefLike) {
|
|
|
1231
1300
|
return void 0;
|
|
1232
1301
|
}), _objectSpread2$1), actorRefLike);
|
|
1233
1302
|
}
|
|
1303
|
+
var emptyBehavior = fromTransition(function (_) {
|
|
1304
|
+
return undefined;
|
|
1305
|
+
}, undefined);
|
|
1306
|
+
function createEmptyActor() {
|
|
1307
|
+
return interpret(emptyBehavior);
|
|
1308
|
+
}
|
|
1234
1309
|
|
|
1235
1310
|
function createSystem() {
|
|
1236
1311
|
var sessionIdCounter = 0;
|
|
@@ -1268,6 +1343,7 @@ function createSystem() {
|
|
|
1268
1343
|
return system;
|
|
1269
1344
|
}
|
|
1270
1345
|
|
|
1346
|
+
exports.ActorStatus = void 0;
|
|
1271
1347
|
(function (ActorStatus) {
|
|
1272
1348
|
ActorStatus[ActorStatus["NotStarted"] = 0] = "NotStarted";
|
|
1273
1349
|
ActorStatus[ActorStatus["Running"] = 1] = "Running";
|
|
@@ -1423,9 +1499,9 @@ var Interpreter = /*#__PURE__*/function () {
|
|
|
1423
1499
|
_step;
|
|
1424
1500
|
try {
|
|
1425
1501
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1426
|
-
var
|
|
1427
|
-
var
|
|
1428
|
-
(
|
|
1502
|
+
var _observer$next;
|
|
1503
|
+
var _observer = _step.value;
|
|
1504
|
+
(_observer$next = _observer.next) === null || _observer$next === void 0 ? void 0 : _observer$next.call(_observer, snapshot);
|
|
1429
1505
|
}
|
|
1430
1506
|
} catch (err) {
|
|
1431
1507
|
_iterator.e(err);
|
|
@@ -1435,30 +1511,20 @@ var Interpreter = /*#__PURE__*/function () {
|
|
|
1435
1511
|
var status = (_this$behavior$getSta = (_this$behavior = this.behavior).getStatus) === null || _this$behavior$getSta === void 0 ? void 0 : _this$behavior$getSta.call(_this$behavior, state);
|
|
1436
1512
|
switch (status === null || status === void 0 ? void 0 : status.status) {
|
|
1437
1513
|
case 'done':
|
|
1514
|
+
this._stopProcedure();
|
|
1438
1515
|
this._doneEvent = doneInvoke(this.id, status.data);
|
|
1439
1516
|
(_this$_parent = this._parent) === null || _this$_parent === void 0 ? void 0 : _this$_parent.send(toSCXMLEvent(this._doneEvent, {
|
|
1440
1517
|
origin: this,
|
|
1441
1518
|
invokeid: this.id
|
|
1442
1519
|
}));
|
|
1443
|
-
this.
|
|
1520
|
+
this._complete();
|
|
1444
1521
|
break;
|
|
1445
1522
|
case 'error':
|
|
1446
|
-
|
|
1523
|
+
this._stopProcedure();
|
|
1524
|
+
(_this$_parent2 = this._parent) === null || _this$_parent2 === void 0 ? void 0 : _this$_parent2.send(toSCXMLEvent(error(this.id, status.data), {
|
|
1447
1525
|
origin: this
|
|
1448
1526
|
}));
|
|
1449
|
-
|
|
1450
|
-
_step2;
|
|
1451
|
-
try {
|
|
1452
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1453
|
-
var _observer$error;
|
|
1454
|
-
var _observer = _step2.value;
|
|
1455
|
-
(_observer$error = _observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(_observer, status.data);
|
|
1456
|
-
}
|
|
1457
|
-
} catch (err) {
|
|
1458
|
-
_iterator2.e(err);
|
|
1459
|
-
} finally {
|
|
1460
|
-
_iterator2.f();
|
|
1461
|
-
}
|
|
1527
|
+
this._error(status.data);
|
|
1462
1528
|
break;
|
|
1463
1529
|
}
|
|
1464
1530
|
}
|
|
@@ -1539,13 +1605,14 @@ var Interpreter = /*#__PURE__*/function () {
|
|
|
1539
1605
|
this.update(nextState);
|
|
1540
1606
|
if (event.name === stopSignalType) {
|
|
1541
1607
|
this._stopProcedure();
|
|
1608
|
+
this._complete();
|
|
1542
1609
|
}
|
|
1543
1610
|
} catch (err) {
|
|
1544
1611
|
// TODO: properly handle errors
|
|
1545
1612
|
if (this.observers.size > 0) {
|
|
1546
1613
|
this.observers.forEach(function (observer) {
|
|
1547
|
-
var _observer$
|
|
1548
|
-
(_observer$
|
|
1614
|
+
var _observer$error;
|
|
1615
|
+
(_observer$error = observer.error) === null || _observer$error === void 0 ? void 0 : _observer$error.call(observer, err);
|
|
1549
1616
|
});
|
|
1550
1617
|
this.stop();
|
|
1551
1618
|
} else {
|
|
@@ -1584,13 +1651,31 @@ var Interpreter = /*#__PURE__*/function () {
|
|
|
1584
1651
|
}, {
|
|
1585
1652
|
key: "_complete",
|
|
1586
1653
|
value: function _complete() {
|
|
1654
|
+
var _iterator2 = _createForOfIteratorHelper(this.observers),
|
|
1655
|
+
_step2;
|
|
1656
|
+
try {
|
|
1657
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
1658
|
+
var _observer2$complete;
|
|
1659
|
+
var _observer2 = _step2.value;
|
|
1660
|
+
(_observer2$complete = _observer2.complete) === null || _observer2$complete === void 0 ? void 0 : _observer2$complete.call(_observer2);
|
|
1661
|
+
}
|
|
1662
|
+
} catch (err) {
|
|
1663
|
+
_iterator2.e(err);
|
|
1664
|
+
} finally {
|
|
1665
|
+
_iterator2.f();
|
|
1666
|
+
}
|
|
1667
|
+
this.observers.clear();
|
|
1668
|
+
}
|
|
1669
|
+
}, {
|
|
1670
|
+
key: "_error",
|
|
1671
|
+
value: function _error(data) {
|
|
1587
1672
|
var _iterator3 = _createForOfIteratorHelper(this.observers),
|
|
1588
1673
|
_step3;
|
|
1589
1674
|
try {
|
|
1590
1675
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
1591
|
-
var _observer3$
|
|
1676
|
+
var _observer3$error;
|
|
1592
1677
|
var _observer3 = _step3.value;
|
|
1593
|
-
(_observer3$
|
|
1678
|
+
(_observer3$error = _observer3.error) === null || _observer3$error === void 0 ? void 0 : _observer3$error.call(_observer3, data);
|
|
1594
1679
|
}
|
|
1595
1680
|
} catch (err) {
|
|
1596
1681
|
_iterator3.e(err);
|
|
@@ -1602,7 +1687,6 @@ var Interpreter = /*#__PURE__*/function () {
|
|
|
1602
1687
|
}, {
|
|
1603
1688
|
key: "_stopProcedure",
|
|
1604
1689
|
value: function _stopProcedure() {
|
|
1605
|
-
this._complete();
|
|
1606
1690
|
if (this.status !== exports.ActorStatus.Running) {
|
|
1607
1691
|
// Interpreter already stopped; do nothing
|
|
1608
1692
|
return this;
|
|
@@ -1634,8 +1718,16 @@ var Interpreter = /*#__PURE__*/function () {
|
|
|
1634
1718
|
}, {
|
|
1635
1719
|
key: "send",
|
|
1636
1720
|
value: function send(event) {
|
|
1721
|
+
if (typeof event === 'string') {
|
|
1722
|
+
throw new Error("Only event objects may be sent to actors; use .send({ type: \"".concat(event, "\" }) instead"));
|
|
1723
|
+
}
|
|
1637
1724
|
var _event = toSCXMLEvent(event);
|
|
1638
1725
|
if (this.status === exports.ActorStatus.Stopped) {
|
|
1726
|
+
// do nothing
|
|
1727
|
+
if (!dev_dist_xstateDev.IS_PRODUCTION) {
|
|
1728
|
+
var eventString = JSON.stringify(_event.data);
|
|
1729
|
+
warn(false, "Event \"".concat(_event.name.toString(), "\" was sent to stopped actor \"").concat(this.id, " (").concat(this.sessionId, ")\". This actor has already reached its final state, and will not transition.\nEvent: ").concat(eventString));
|
|
1730
|
+
}
|
|
1639
1731
|
return;
|
|
1640
1732
|
}
|
|
1641
1733
|
if (this.status !== exports.ActorStatus.Running && !this.options.deferEvents) {
|
|
@@ -1721,10 +1813,10 @@ function interpret(behavior, options) {
|
|
|
1721
1813
|
* @param actorRef The actor to stop.
|
|
1722
1814
|
*/
|
|
1723
1815
|
|
|
1724
|
-
function stop
|
|
1816
|
+
function stop(actorRef) {
|
|
1725
1817
|
var actor = actorRef;
|
|
1726
1818
|
return createDynamicAction({
|
|
1727
|
-
type: stop,
|
|
1819
|
+
type: stop$1,
|
|
1728
1820
|
params: {
|
|
1729
1821
|
actor: actor
|
|
1730
1822
|
}
|
|
@@ -1774,11 +1866,11 @@ var defaultLogExpr = function defaultLogExpr(_ref) {
|
|
|
1774
1866
|
* @param label The label to give to the logged expression.
|
|
1775
1867
|
*/
|
|
1776
1868
|
|
|
1777
|
-
function log
|
|
1869
|
+
function log() {
|
|
1778
1870
|
var expr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultLogExpr;
|
|
1779
1871
|
var label = arguments.length > 1 ? arguments[1] : undefined;
|
|
1780
1872
|
return createDynamicAction({
|
|
1781
|
-
type: log,
|
|
1873
|
+
type: log$1,
|
|
1782
1874
|
params: {
|
|
1783
1875
|
label: label,
|
|
1784
1876
|
expr: expr
|
|
@@ -1821,9 +1913,9 @@ function log$1() {
|
|
|
1821
1913
|
* @param sendId The `id` of the `send(...)` action to cancel.
|
|
1822
1914
|
*/
|
|
1823
1915
|
|
|
1824
|
-
function cancel
|
|
1916
|
+
function cancel(sendId) {
|
|
1825
1917
|
return createDynamicAction({
|
|
1826
|
-
type: cancel,
|
|
1918
|
+
type: cancel$1,
|
|
1827
1919
|
params: {
|
|
1828
1920
|
sendId: sendId
|
|
1829
1921
|
}
|
|
@@ -2228,13 +2320,13 @@ function getDelayedTransitions(stateNode) {
|
|
|
2228
2320
|
}
|
|
2229
2321
|
var mutateEntryExit = function mutateEntryExit(delay, i) {
|
|
2230
2322
|
var delayRef = isFunction(delay) ? "".concat(stateNode.id, ":delay[").concat(i, "]") : delay;
|
|
2231
|
-
var eventType = after
|
|
2232
|
-
stateNode.entry.push(
|
|
2323
|
+
var eventType = after(delayRef, stateNode.id);
|
|
2324
|
+
stateNode.entry.push(raise({
|
|
2233
2325
|
type: eventType
|
|
2234
2326
|
}, {
|
|
2235
2327
|
delay: delay
|
|
2236
2328
|
}));
|
|
2237
|
-
stateNode.exit.push(cancel
|
|
2329
|
+
stateNode.exit.push(cancel(eventType));
|
|
2238
2330
|
return eventType;
|
|
2239
2331
|
};
|
|
2240
2332
|
var delayedTransitions = isArray(afterConfig) ? afterConfig.map(function (transition, i) {
|
|
@@ -2880,12 +2972,12 @@ function setChildren(currentState, nonRaisedActions) {
|
|
|
2880
2972
|
try {
|
|
2881
2973
|
for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
|
|
2882
2974
|
var action = _step21.value;
|
|
2883
|
-
if (action.type === invoke && action.params.ref) {
|
|
2975
|
+
if (action.type === invoke$1 && action.params.ref) {
|
|
2884
2976
|
var ref = action.params.ref;
|
|
2885
2977
|
if (ref) {
|
|
2886
2978
|
children[ref.id] = ref;
|
|
2887
2979
|
}
|
|
2888
|
-
} else if (action.type === stop) {
|
|
2980
|
+
} else if (action.type === stop$1) {
|
|
2889
2981
|
var _ref = action.params.actor;
|
|
2890
2982
|
if (_ref) {
|
|
2891
2983
|
delete children[_ref.id];
|
|
@@ -2984,7 +3076,7 @@ function enterStates(filteredTransitions, mutConfiguration, actions, internalQue
|
|
|
2984
3076
|
try {
|
|
2985
3077
|
for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
|
|
2986
3078
|
var invokeDef = _step23.value;
|
|
2987
|
-
actions.push(invoke
|
|
3079
|
+
actions.push(invoke(invokeDef));
|
|
2988
3080
|
}
|
|
2989
3081
|
|
|
2990
3082
|
// Add entry actions
|
|
@@ -3294,7 +3386,7 @@ function exitStates(transitions, mutConfiguration, historyValue, actions) {
|
|
|
3294
3386
|
for (_iterator40.s(); !(_step40 = _iterator40.n()).done;) {
|
|
3295
3387
|
var s = _step40.value;
|
|
3296
3388
|
actions.push.apply(actions, _toConsumableArray(s.exit.flat()).concat(_toConsumableArray(s.invoke.map(function (def) {
|
|
3297
|
-
return stop
|
|
3389
|
+
return stop(def.id);
|
|
3298
3390
|
}))));
|
|
3299
3391
|
mutConfiguration["delete"](s);
|
|
3300
3392
|
}
|
|
@@ -3332,12 +3424,12 @@ function resolveActionsAndContext(actions, scxmlEvent, currentState, actorCtx) {
|
|
|
3332
3424
|
resolvedAction = _executableActionObje2[1];
|
|
3333
3425
|
var matchedActions = (_resolvedAction$param = resolvedAction.params) === null || _resolvedAction$param === void 0 ? void 0 : _resolvedAction$param.actions;
|
|
3334
3426
|
intermediateState = nextState;
|
|
3335
|
-
if ((resolvedAction.type === raise || resolvedAction.type === send && resolvedAction.params.internal) && typeof resolvedAction.params.delay !== 'number') {
|
|
3427
|
+
if ((resolvedAction.type === raise$1 || resolvedAction.type === send$1 && resolvedAction.params.internal) && typeof resolvedAction.params.delay !== 'number') {
|
|
3336
3428
|
raiseActions.push(resolvedAction);
|
|
3337
3429
|
}
|
|
3338
3430
|
|
|
3339
3431
|
// TODO: remove the check; just handleAction
|
|
3340
|
-
if (resolvedAction.type !== pure) {
|
|
3432
|
+
if (resolvedAction.type !== pure$1) {
|
|
3341
3433
|
handleAction(resolvedAction);
|
|
3342
3434
|
}
|
|
3343
3435
|
toActionObjects(matchedActions).forEach(resolveAction);
|
|
@@ -3367,6 +3459,9 @@ function resolveActionsAndContext(actions, scxmlEvent, currentState, actorCtx) {
|
|
|
3367
3459
|
};
|
|
3368
3460
|
}
|
|
3369
3461
|
function macrostep(state, scxmlEvent, actorCtx) {
|
|
3462
|
+
if (!dev_dist_xstateDev.IS_PRODUCTION && scxmlEvent.name === WILDCARD) {
|
|
3463
|
+
throw new Error("An event cannot have the wildcard type ('".concat(WILDCARD, "')"));
|
|
3464
|
+
}
|
|
3370
3465
|
var nextState = state;
|
|
3371
3466
|
var states = [];
|
|
3372
3467
|
|
|
@@ -3448,7 +3543,7 @@ function stopStep(scxmlEvent, nextState, actorCtx) {
|
|
|
3448
3543
|
}
|
|
3449
3544
|
for (var _i4 = 0, _Object$values = Object.values(nextState.children); _i4 < _Object$values.length; _i4++) {
|
|
3450
3545
|
var child = _Object$values[_i4];
|
|
3451
|
-
actions.push(stop
|
|
3546
|
+
actions.push(stop(child));
|
|
3452
3547
|
}
|
|
3453
3548
|
var _resolveActionsAndCon2 = resolveActionsAndContext(actions, scxmlEvent, nextState, actorCtx),
|
|
3454
3549
|
stoppedState = _resolveActionsAndCon2.nextState;
|
|
@@ -3621,11 +3716,11 @@ var State = /*#__PURE__*/function () {
|
|
|
3621
3716
|
}, {
|
|
3622
3717
|
key: "toJSON",
|
|
3623
3718
|
value: function toJSON() {
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
tags = this.tags
|
|
3627
|
-
|
|
3628
|
-
jsonValues = _objectWithoutProperties(this, _excluded);
|
|
3719
|
+
this.configuration;
|
|
3720
|
+
this.transitions;
|
|
3721
|
+
var tags = this.tags;
|
|
3722
|
+
this.machine;
|
|
3723
|
+
var jsonValues = _objectWithoutProperties(this, _excluded);
|
|
3629
3724
|
return _objectSpread2(_objectSpread2({}, jsonValues), {}, {
|
|
3630
3725
|
tags: Array.from(tags),
|
|
3631
3726
|
meta: this.meta
|
|
@@ -3663,8 +3758,8 @@ var State = /*#__PURE__*/function () {
|
|
|
3663
3758
|
}, {
|
|
3664
3759
|
key: "can",
|
|
3665
3760
|
value: function can(event) {
|
|
3666
|
-
{
|
|
3667
|
-
warn(!!this.machine);
|
|
3761
|
+
if (dev_dist_xstateDev.IS_PRODUCTION) {
|
|
3762
|
+
warn(!!this.machine, "state.can(...) used outside of a machine-created State object; this will always return false.");
|
|
3668
3763
|
}
|
|
3669
3764
|
var transitionData = this.machine.getTransitionData(this, toSCXMLEvent(event));
|
|
3670
3765
|
return !!(transitionData !== null && transitionData !== void 0 && transitionData.length) &&
|
|
@@ -3776,11 +3871,11 @@ function cloneState(state) {
|
|
|
3776
3871
|
return new State(_objectSpread2(_objectSpread2({}, state), config), state.machine);
|
|
3777
3872
|
}
|
|
3778
3873
|
function getPersistedState(state) {
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
children = state.children,
|
|
3874
|
+
state.configuration;
|
|
3875
|
+
state.transitions;
|
|
3876
|
+
state.tags;
|
|
3877
|
+
state.machine;
|
|
3878
|
+
var children = state.children,
|
|
3784
3879
|
jsonValues = _objectWithoutProperties(state, _excluded2);
|
|
3785
3880
|
var childrenJson = {};
|
|
3786
3881
|
for (var id in children) {
|
|
@@ -3795,14 +3890,14 @@ function getPersistedState(state) {
|
|
|
3795
3890
|
});
|
|
3796
3891
|
}
|
|
3797
3892
|
|
|
3798
|
-
function invoke
|
|
3893
|
+
function invoke(invokeDef) {
|
|
3799
3894
|
return createDynamicAction({
|
|
3800
|
-
type: invoke,
|
|
3895
|
+
type: invoke$1,
|
|
3801
3896
|
params: invokeDef
|
|
3802
3897
|
}, function (_event, _ref) {
|
|
3803
3898
|
var state = _ref.state,
|
|
3804
3899
|
actorContext = _ref.actorContext;
|
|
3805
|
-
var type = invoke;
|
|
3900
|
+
var type = invoke$1;
|
|
3806
3901
|
var id = invokeDef.id,
|
|
3807
3902
|
src = invokeDef.src;
|
|
3808
3903
|
var resolvedInvokeAction;
|
|
@@ -3861,7 +3956,7 @@ function invoke$1(invokeDef) {
|
|
|
3861
3956
|
var _actorRef$start;
|
|
3862
3957
|
(_actorRef$start = actorRef.start) === null || _actorRef$start === void 0 ? void 0 : _actorRef$start.call(actorRef);
|
|
3863
3958
|
} catch (err) {
|
|
3864
|
-
parent.send(error
|
|
3959
|
+
parent.send(error(id, err));
|
|
3865
3960
|
return;
|
|
3866
3961
|
}
|
|
3867
3962
|
});
|
|
@@ -3890,7 +3985,7 @@ function createSpawner(self, machine, context, _event, mutCapturedActions) {
|
|
|
3890
3985
|
self: self
|
|
3891
3986
|
}) : input
|
|
3892
3987
|
});
|
|
3893
|
-
mutCapturedActions.push(invoke
|
|
3988
|
+
mutCapturedActions.push(invoke({
|
|
3894
3989
|
id: actorRef.id,
|
|
3895
3990
|
// @ts-ignore TODO: fix types
|
|
3896
3991
|
src: actorRef,
|
|
@@ -3911,7 +4006,7 @@ function createSpawner(self, machine, context, _event, mutCapturedActions) {
|
|
|
3911
4006
|
parent: self,
|
|
3912
4007
|
input: options.input
|
|
3913
4008
|
});
|
|
3914
|
-
mutCapturedActions.push(invoke
|
|
4009
|
+
mutCapturedActions.push(invoke({
|
|
3915
4010
|
// @ts-ignore TODO: fix types
|
|
3916
4011
|
src: _actorRef,
|
|
3917
4012
|
ref: _actorRef,
|
|
@@ -3929,9 +4024,9 @@ function createSpawner(self, machine, context, _event, mutCapturedActions) {
|
|
|
3929
4024
|
*
|
|
3930
4025
|
* @param assignment An object that represents the partial context to update.
|
|
3931
4026
|
*/
|
|
3932
|
-
function assign
|
|
4027
|
+
function assign(assignment) {
|
|
3933
4028
|
return createDynamicAction({
|
|
3934
|
-
type: assign,
|
|
4029
|
+
type: assign$1,
|
|
3935
4030
|
params: {
|
|
3936
4031
|
assignment: assignment
|
|
3937
4032
|
}
|
|
@@ -3967,7 +4062,7 @@ function assign$1(assignment) {
|
|
|
3967
4062
|
return [cloneState(state, {
|
|
3968
4063
|
context: updatedContext
|
|
3969
4064
|
}), {
|
|
3970
|
-
type: assign,
|
|
4065
|
+
type: assign$1,
|
|
3971
4066
|
params: {
|
|
3972
4067
|
context: updatedContext,
|
|
3973
4068
|
actions: capturedActions
|
|
@@ -3983,9 +4078,9 @@ function assign$1(assignment) {
|
|
|
3983
4078
|
* @param eventType The event to raise.
|
|
3984
4079
|
*/
|
|
3985
4080
|
|
|
3986
|
-
function raise
|
|
4081
|
+
function raise(eventOrExpr, options) {
|
|
3987
4082
|
return createDynamicAction({
|
|
3988
|
-
type: raise,
|
|
4083
|
+
type: raise$1,
|
|
3989
4084
|
params: {
|
|
3990
4085
|
delay: options ? options.delay : undefined,
|
|
3991
4086
|
event: eventOrExpr,
|
|
@@ -4010,6 +4105,9 @@ function raise$1(eventOrExpr, options) {
|
|
|
4010
4105
|
var delaysMap = state.machine.options.delays;
|
|
4011
4106
|
|
|
4012
4107
|
// TODO: helper function for resolving Expr
|
|
4108
|
+
if (typeof eventOrExpr === 'string') {
|
|
4109
|
+
throw new Error("Only event objects may be used with raise; use raise({ type: \"".concat(eventOrExpr, "\" }) instead"));
|
|
4110
|
+
}
|
|
4013
4111
|
var resolvedEvent = toSCXMLEvent(typeof eventOrExpr === 'function' ? eventOrExpr(args) : eventOrExpr);
|
|
4014
4112
|
var resolvedDelay;
|
|
4015
4113
|
if (typeof params.delay === 'string') {
|
|
@@ -4019,7 +4117,7 @@ function raise$1(eventOrExpr, options) {
|
|
|
4019
4117
|
resolvedDelay = typeof params.delay === 'function' ? params.delay(args) : params.delay;
|
|
4020
4118
|
}
|
|
4021
4119
|
var resolvedAction = {
|
|
4022
|
-
type: raise,
|
|
4120
|
+
type: raise$1,
|
|
4023
4121
|
params: _objectSpread2(_objectSpread2({}, params), {}, {
|
|
4024
4122
|
_event: resolvedEvent,
|
|
4025
4123
|
event: resolvedEvent.data,
|
|
@@ -4036,9 +4134,9 @@ function raise$1(eventOrExpr, options) {
|
|
|
4036
4134
|
});
|
|
4037
4135
|
}
|
|
4038
4136
|
|
|
4039
|
-
function choose
|
|
4137
|
+
function choose(guards) {
|
|
4040
4138
|
return createDynamicAction({
|
|
4041
|
-
type: choose,
|
|
4139
|
+
type: choose$1,
|
|
4042
4140
|
params: {
|
|
4043
4141
|
guards: guards
|
|
4044
4142
|
}
|
|
@@ -4052,7 +4150,7 @@ function choose$1(guards) {
|
|
|
4052
4150
|
return !guard || evaluateGuard(guard, state.context, _event, state);
|
|
4053
4151
|
})) === null || _guards$find === void 0 ? void 0 : _guards$find.actions;
|
|
4054
4152
|
return [state, {
|
|
4055
|
-
type: choose,
|
|
4153
|
+
type: choose$1,
|
|
4056
4154
|
params: {
|
|
4057
4155
|
actions: toActionObjects(matchedActions)
|
|
4058
4156
|
}
|
|
@@ -4060,6 +4158,27 @@ function choose$1(guards) {
|
|
|
4060
4158
|
});
|
|
4061
4159
|
}
|
|
4062
4160
|
|
|
4161
|
+
function pure(getActions) {
|
|
4162
|
+
return createDynamicAction({
|
|
4163
|
+
type: pure$1,
|
|
4164
|
+
params: {
|
|
4165
|
+
get: getActions
|
|
4166
|
+
}
|
|
4167
|
+
}, function (_event, _ref) {
|
|
4168
|
+
var _toArray;
|
|
4169
|
+
var state = _ref.state;
|
|
4170
|
+
return [state, {
|
|
4171
|
+
type: pure$1,
|
|
4172
|
+
params: {
|
|
4173
|
+
actions: (_toArray = toArray(toActionObjects(getActions({
|
|
4174
|
+
context: state.context,
|
|
4175
|
+
event: _event.data
|
|
4176
|
+
})))) !== null && _toArray !== void 0 ? _toArray : []
|
|
4177
|
+
}
|
|
4178
|
+
}];
|
|
4179
|
+
});
|
|
4180
|
+
}
|
|
4181
|
+
|
|
4063
4182
|
var initEvent = toSCXMLEvent({
|
|
4064
4183
|
type: init
|
|
4065
4184
|
});
|
|
@@ -4081,9 +4200,9 @@ function resolveActionObject(actionObject, actionFunctionMap) {
|
|
|
4081
4200
|
execute: function execute(actorCtx) {
|
|
4082
4201
|
return dereferencedAction({
|
|
4083
4202
|
context: state.context,
|
|
4084
|
-
event:
|
|
4203
|
+
event: _event.data,
|
|
4085
4204
|
action: a,
|
|
4086
|
-
_event:
|
|
4205
|
+
_event: _event,
|
|
4087
4206
|
system: actorCtx.system,
|
|
4088
4207
|
self: actorCtx.self
|
|
4089
4208
|
});
|
|
@@ -4152,7 +4271,7 @@ var toActionObjects = function toActionObjects(action) {
|
|
|
4152
4271
|
* @param delayRef The delay in milliseconds
|
|
4153
4272
|
* @param id The state node ID where this event is handled
|
|
4154
4273
|
*/
|
|
4155
|
-
function after
|
|
4274
|
+
function after(delayRef, id) {
|
|
4156
4275
|
var idSuffix = id ? "#".concat(id) : '';
|
|
4157
4276
|
return "".concat(exports.ActionTypes.After, "(").concat(delayRef, ")").concat(idSuffix);
|
|
4158
4277
|
}
|
|
@@ -4196,7 +4315,7 @@ function doneInvoke(invokeId, output) {
|
|
|
4196
4315
|
};
|
|
4197
4316
|
return eventObject;
|
|
4198
4317
|
}
|
|
4199
|
-
function error
|
|
4318
|
+
function error(id, data) {
|
|
4200
4319
|
var type = "".concat(exports.ActionTypes.ErrorPlatform, ".").concat(id);
|
|
4201
4320
|
var eventObject = {
|
|
4202
4321
|
type: type,
|
|
@@ -4227,18 +4346,18 @@ exports._objectWithoutProperties = _objectWithoutProperties;
|
|
|
4227
4346
|
exports._slicedToArray = _slicedToArray;
|
|
4228
4347
|
exports._toConsumableArray = _toConsumableArray;
|
|
4229
4348
|
exports.actionTypes = actionTypes;
|
|
4230
|
-
exports.after = after
|
|
4349
|
+
exports.after = after;
|
|
4231
4350
|
exports.and = and;
|
|
4232
|
-
exports.assign = assign
|
|
4233
|
-
exports.cancel = cancel
|
|
4234
|
-
exports.choose = choose
|
|
4235
|
-
exports.
|
|
4351
|
+
exports.assign = assign;
|
|
4352
|
+
exports.cancel = cancel;
|
|
4353
|
+
exports.choose = choose;
|
|
4354
|
+
exports.createEmptyActor = createEmptyActor;
|
|
4236
4355
|
exports.createInitEvent = createInitEvent;
|
|
4237
4356
|
exports.createInvokeId = createInvokeId;
|
|
4238
4357
|
exports.createSpawner = createSpawner;
|
|
4239
4358
|
exports.done = done;
|
|
4240
4359
|
exports.doneInvoke = doneInvoke;
|
|
4241
|
-
exports.error = error
|
|
4360
|
+
exports.error = error;
|
|
4242
4361
|
exports.escalate = escalate;
|
|
4243
4362
|
exports.evaluateGuard = evaluateGuard;
|
|
4244
4363
|
exports.flatten = flatten;
|
|
@@ -4260,14 +4379,14 @@ exports.getStateNodeByPath = getStateNodeByPath;
|
|
|
4260
4379
|
exports.getStateNodes = getStateNodes;
|
|
4261
4380
|
exports.initEvent = initEvent;
|
|
4262
4381
|
exports.interpret = interpret;
|
|
4263
|
-
exports.invoke = invoke;
|
|
4382
|
+
exports.invoke = invoke$1;
|
|
4264
4383
|
exports.isActorRef = isActorRef;
|
|
4265
4384
|
exports.isInFinalState = isInFinalState;
|
|
4266
4385
|
exports.isSCXMLErrorEvent = isSCXMLErrorEvent;
|
|
4267
4386
|
exports.isSignal = isSignal;
|
|
4268
4387
|
exports.isStateId = isStateId;
|
|
4269
4388
|
exports.isString = isString;
|
|
4270
|
-
exports.log = log
|
|
4389
|
+
exports.log = log;
|
|
4271
4390
|
exports.macrostep = macrostep;
|
|
4272
4391
|
exports.mapValues = mapValues;
|
|
4273
4392
|
exports.matchesState = matchesState;
|
|
@@ -4277,19 +4396,19 @@ exports.not = not;
|
|
|
4277
4396
|
exports.or = or;
|
|
4278
4397
|
exports.pathToStateValue = pathToStateValue;
|
|
4279
4398
|
exports.pure = pure;
|
|
4280
|
-
exports.raise = raise
|
|
4399
|
+
exports.raise = raise;
|
|
4281
4400
|
exports.resolveActionObject = resolveActionObject;
|
|
4282
4401
|
exports.resolveActionsAndContext = resolveActionsAndContext;
|
|
4283
4402
|
exports.resolveReferencedActor = resolveReferencedActor;
|
|
4284
4403
|
exports.resolveStateValue = resolveStateValue;
|
|
4285
4404
|
exports.respond = respond;
|
|
4286
|
-
exports.send = send
|
|
4405
|
+
exports.send = send;
|
|
4287
4406
|
exports.sendParent = sendParent;
|
|
4288
4407
|
exports.sendTo = sendTo;
|
|
4289
4408
|
exports.startSignal = startSignal;
|
|
4290
4409
|
exports.startSignalType = startSignalType;
|
|
4291
4410
|
exports.stateIn = stateIn;
|
|
4292
|
-
exports.stop = stop
|
|
4411
|
+
exports.stop = stop;
|
|
4293
4412
|
exports.stopSignal = stopSignal;
|
|
4294
4413
|
exports.stopSignalType = stopSignalType;
|
|
4295
4414
|
exports.toActionObject = toActionObject;
|