xstate 5.0.0-alpha.0 → 5.0.0-alpha.1
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/README.md +23 -13
- package/actions/dist/xstate-actions.cjs.dev.js +22 -24
- package/actions/dist/xstate-actions.cjs.prod.js +22 -24
- package/actions/dist/xstate-actions.esm.js +1 -1
- package/actions/dist/xstate-actions.umd.min.js +2 -0
- package/actions/dist/xstate-actions.umd.min.js.map +1 -0
- package/actions/dynamicAction.ts +4 -4
- package/actions/package.json +5 -1
- package/actors/dist/xstate-actors.cjs.dev.js +12 -13
- package/actors/dist/xstate-actors.cjs.prod.js +12 -13
- package/actors/dist/xstate-actors.esm.js +1 -1
- package/actors/dist/xstate-actors.umd.min.js +2 -0
- package/actors/dist/xstate-actors.umd.min.js.map +1 -0
- package/actors/package.json +5 -1
- package/dev/dist/xstate-dev.umd.min.js +2 -0
- package/dev/dist/xstate-dev.umd.min.js.map +1 -0
- package/dev/package.json +5 -1
- package/dist/{actions-70094c93.cjs.prod.js → actions-7ea9280f.cjs.prod.js} +3118 -3209
- package/dist/{actions-6b86876d.cjs.dev.js → actions-b08d0da8.cjs.dev.js} +3105 -3202
- package/dist/{actions-ff512f16.esm.js → actions-b673cb13.esm.js} +3092 -3189
- package/dist/declarations/actions/dynamicAction.d.ts +5 -3
- package/dist/declarations/src/Machine.d.ts +4 -4
- package/dist/declarations/src/Mailbox.d.ts +12 -12
- package/dist/declarations/src/SimulatedClock.d.ts +16 -16
- package/dist/declarations/src/State.d.ts +97 -104
- package/dist/declarations/src/StateMachine.d.ts +120 -112
- package/dist/declarations/src/StateNode.d.ts +127 -127
- package/dist/declarations/src/actionTypes.d.ts +16 -17
- package/dist/declarations/src/actions/assign.d.ts +7 -7
- package/dist/declarations/src/actions/cancel.d.ts +10 -10
- package/dist/declarations/src/actions/choose.d.ts +3 -3
- package/dist/declarations/src/actions/invoke.d.ts +3 -3
- package/dist/declarations/src/actions/log.d.ts +11 -11
- package/dist/declarations/src/actions/pure.d.ts +3 -3
- package/dist/declarations/src/actions/raise.d.ts +9 -9
- package/dist/declarations/src/actions/send.d.ts +51 -55
- package/dist/declarations/src/actions/stop.d.ts +7 -8
- package/dist/declarations/src/actions.d.ts +43 -44
- package/dist/declarations/src/actors.d.ts +37 -38
- package/dist/declarations/src/constants.d.ts +5 -5
- package/dist/declarations/src/dev/index.d.ts +14 -14
- package/dist/declarations/src/environment.d.ts +1 -1
- package/dist/declarations/src/guards.d.ts +8 -9
- package/dist/declarations/src/index.d.ts +44 -47
- package/dist/declarations/src/interpreter.d.ts +108 -147
- package/dist/declarations/src/mapState.d.ts +3 -3
- package/dist/declarations/src/memo.d.ts +2 -1
- package/dist/declarations/src/registry.d.ts +8 -8
- package/dist/declarations/src/schema.d.ts +2 -2
- package/dist/declarations/src/spawn.d.ts +2 -2
- package/dist/declarations/src/stateUtils.d.ts +70 -85
- package/dist/declarations/src/symbolObservable.d.ts +1 -0
- package/dist/declarations/src/typegenTypes.d.ts +132 -132
- package/dist/declarations/src/types.d.ts +1001 -1026
- package/dist/declarations/src/utils.d.ts +54 -56
- package/dist/xstate.cjs.dev.js +856 -80
- package/dist/xstate.cjs.prod.js +856 -80
- package/dist/xstate.esm.js +815 -35
- package/dist/xstate.umd.min.js +2 -0
- package/dist/xstate.umd.min.js.map +1 -0
- package/guards/dist/xstate-guards.cjs.dev.js +7 -7
- package/guards/dist/xstate-guards.cjs.prod.js +7 -7
- package/guards/dist/xstate-guards.esm.js +1 -1
- package/guards/dist/xstate-guards.umd.min.js +2 -0
- package/guards/dist/xstate-guards.umd.min.js.map +1 -0
- package/guards/package.json +5 -1
- package/package.json +25 -2
- package/CHANGELOG.md +0 -1986
- package/actions/ExecutableAction.ts +0 -58
- package/dist/Machine-9ce74c11.cjs.dev.js +0 -755
- package/dist/Machine-dca041dc.cjs.prod.js +0 -749
- package/dist/Machine-fb2f47f5.esm.js +0 -751
- package/dist/declarations/actions/ExecutableAction.d.ts +0 -23
- package/dist/declarations/src/ObservableActorRef.d.ts +0 -25
- package/dist/declarations/src/match.d.ts +0 -5
- package/dist/declarations/src/model.d.ts +0 -5
- package/dist/declarations/src/model.types.d.ts +0 -53
- package/model/dist/xstate-model.cjs.d.ts +0 -1
- package/model/dist/xstate-model.cjs.dev.js +0 -41
- package/model/dist/xstate-model.cjs.js +0 -7
- package/model/dist/xstate-model.cjs.prod.js +0 -41
- package/model/dist/xstate-model.esm.js +0 -37
- package/model/package.json +0 -4
package/README.md
CHANGED
|
@@ -52,10 +52,10 @@ const toggleService = interpret(toggleMachine)
|
|
|
52
52
|
.start();
|
|
53
53
|
// => 'inactive'
|
|
54
54
|
|
|
55
|
-
toggleService.send('TOGGLE');
|
|
55
|
+
toggleService.send({ type: 'TOGGLE' });
|
|
56
56
|
// => 'active'
|
|
57
57
|
|
|
58
|
-
toggleService.send('TOGGLE');
|
|
58
|
+
toggleService.send({ type: 'TOGGLE' });
|
|
59
59
|
// => 'inactive'
|
|
60
60
|
```
|
|
61
61
|
|
|
@@ -116,7 +116,8 @@ const lightMachine = createMachine({
|
|
|
116
116
|
|
|
117
117
|
const currentState = 'green';
|
|
118
118
|
|
|
119
|
-
const nextState = lightMachine.transition(currentState, 'TIMER')
|
|
119
|
+
const nextState = lightMachine.transition(currentState, { type: 'TIMER' })
|
|
120
|
+
.value;
|
|
120
121
|
|
|
121
122
|
// => 'yellow'
|
|
122
123
|
```
|
|
@@ -170,12 +171,13 @@ const lightMachine = createMachine({
|
|
|
170
171
|
|
|
171
172
|
const currentState = 'yellow';
|
|
172
173
|
|
|
173
|
-
const nextState = lightMachine.transition(currentState, 'TIMER')
|
|
174
|
+
const nextState = lightMachine.transition(currentState, { type: 'TIMER' })
|
|
175
|
+
.value;
|
|
174
176
|
// => {
|
|
175
177
|
// red: 'walk'
|
|
176
178
|
// }
|
|
177
179
|
|
|
178
|
-
lightMachine.transition('red.walk', 'PED_TIMER').value;
|
|
180
|
+
lightMachine.transition('red.walk', { type: 'PED_TIMER' }).value;
|
|
179
181
|
// => {
|
|
180
182
|
// red: 'wait'
|
|
181
183
|
// }
|
|
@@ -185,15 +187,18 @@ lightMachine.transition('red.walk', 'PED_TIMER').value;
|
|
|
185
187
|
|
|
186
188
|
```js
|
|
187
189
|
// ...
|
|
188
|
-
const waitState = lightMachine.transition(
|
|
190
|
+
const waitState = lightMachine.transition(
|
|
191
|
+
{ red: 'walk' },
|
|
192
|
+
{ type: 'PED_TIMER' }
|
|
193
|
+
).value;
|
|
189
194
|
|
|
190
195
|
// => { red: 'wait' }
|
|
191
196
|
|
|
192
|
-
lightMachine.transition(waitState, 'PED_TIMER').value;
|
|
197
|
+
lightMachine.transition(waitState, { type: 'PED_TIMER' }).value;
|
|
193
198
|
|
|
194
199
|
// => { red: 'stop' }
|
|
195
200
|
|
|
196
|
-
lightMachine.transition({ red: 'stop' }, 'TIMER').value;
|
|
201
|
+
lightMachine.transition({ red: 'stop' }, { type: 'TIMER' }).value;
|
|
197
202
|
|
|
198
203
|
// => 'green'
|
|
199
204
|
```
|
|
@@ -257,7 +262,8 @@ const wordMachine = createMachine({
|
|
|
257
262
|
}
|
|
258
263
|
});
|
|
259
264
|
|
|
260
|
-
const boldState = wordMachine.transition('bold.off', 'TOGGLE_BOLD')
|
|
265
|
+
const boldState = wordMachine.transition('bold.off', { type: 'TOGGLE_BOLD' })
|
|
266
|
+
.value;
|
|
261
267
|
|
|
262
268
|
// {
|
|
263
269
|
// bold: 'on',
|
|
@@ -273,7 +279,7 @@ const nextState = wordMachine.transition(
|
|
|
273
279
|
underline: 'on',
|
|
274
280
|
list: 'bullets'
|
|
275
281
|
},
|
|
276
|
-
'TOGGLE_ITALICS'
|
|
282
|
+
{ type: 'TOGGLE_ITALICS' }
|
|
277
283
|
).value;
|
|
278
284
|
|
|
279
285
|
// {
|
|
@@ -308,21 +314,25 @@ const paymentMachine = createMachine({
|
|
|
308
314
|
}
|
|
309
315
|
});
|
|
310
316
|
|
|
311
|
-
const checkState = paymentMachine.transition('method.cash',
|
|
317
|
+
const checkState = paymentMachine.transition('method.cash', {
|
|
318
|
+
type: 'SWITCH_CHECK'
|
|
319
|
+
});
|
|
312
320
|
|
|
313
321
|
// => State {
|
|
314
322
|
// value: { method: 'check' },
|
|
315
323
|
// history: State { ... }
|
|
316
324
|
// }
|
|
317
325
|
|
|
318
|
-
const reviewState = paymentMachine.transition(checkState, 'NEXT');
|
|
326
|
+
const reviewState = paymentMachine.transition(checkState, { type: 'NEXT' });
|
|
319
327
|
|
|
320
328
|
// => State {
|
|
321
329
|
// value: 'review',
|
|
322
330
|
// history: State { ... }
|
|
323
331
|
// }
|
|
324
332
|
|
|
325
|
-
const previousState = paymentMachine.transition(reviewState,
|
|
333
|
+
const previousState = paymentMachine.transition(reviewState, {
|
|
334
|
+
type: 'PREVIOUS'
|
|
335
|
+
}).value;
|
|
326
336
|
|
|
327
337
|
// => { method: 'check' }
|
|
328
338
|
```
|
|
@@ -2,31 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var actors_dist_xstateActors = require('../../dist/actions-b08d0da8.cjs.dev.js');
|
|
6
6
|
require('../../dist/index-2a564d03.cjs.dev.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.actionTypes =
|
|
11
|
-
exports.after =
|
|
12
|
-
exports.assign =
|
|
13
|
-
exports.cancel =
|
|
14
|
-
exports.choose =
|
|
15
|
-
exports.done =
|
|
16
|
-
exports.doneInvoke =
|
|
17
|
-
exports.error =
|
|
18
|
-
exports.escalate =
|
|
19
|
-
exports.forwardTo =
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.
|
|
24
|
-
exports.
|
|
25
|
-
exports.
|
|
26
|
-
exports.
|
|
27
|
-
exports.
|
|
28
|
-
exports.
|
|
29
|
-
exports.
|
|
30
|
-
exports.
|
|
31
|
-
exports.toActionObject = guards_dist_xstateGuards.toActionObject;
|
|
32
|
-
exports.toActionObjects = guards_dist_xstateGuards.toActionObjects;
|
|
10
|
+
exports.actionTypes = actors_dist_xstateActors.actionTypes;
|
|
11
|
+
exports.after = actors_dist_xstateActors.after;
|
|
12
|
+
exports.assign = actors_dist_xstateActors.assign;
|
|
13
|
+
exports.cancel = actors_dist_xstateActors.cancel;
|
|
14
|
+
exports.choose = actors_dist_xstateActors.choose;
|
|
15
|
+
exports.done = actors_dist_xstateActors.done;
|
|
16
|
+
exports.doneInvoke = actors_dist_xstateActors.doneInvoke;
|
|
17
|
+
exports.error = actors_dist_xstateActors.error;
|
|
18
|
+
exports.escalate = actors_dist_xstateActors.escalate;
|
|
19
|
+
exports.forwardTo = actors_dist_xstateActors.forwardTo;
|
|
20
|
+
exports.initEvent = actors_dist_xstateActors.initEvent;
|
|
21
|
+
exports.log = actors_dist_xstateActors.log;
|
|
22
|
+
exports.raise = actors_dist_xstateActors.raise;
|
|
23
|
+
exports.resolveActionObject = actors_dist_xstateActors.resolveActionObject;
|
|
24
|
+
exports.respond = actors_dist_xstateActors.respond;
|
|
25
|
+
exports.send = actors_dist_xstateActors.send;
|
|
26
|
+
exports.sendParent = actors_dist_xstateActors.sendParent;
|
|
27
|
+
exports.sendTo = actors_dist_xstateActors.sendTo;
|
|
28
|
+
exports.stop = actors_dist_xstateActors.stop;
|
|
29
|
+
exports.toActionObject = actors_dist_xstateActors.toActionObject;
|
|
30
|
+
exports.toActionObjects = actors_dist_xstateActors.toActionObjects;
|
|
@@ -2,31 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var actors_dist_xstateActors = require('../../dist/actions-7ea9280f.cjs.prod.js');
|
|
6
6
|
require('../../dev/dist/xstate-dev.cjs.prod.js');
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
exports.actionTypes =
|
|
11
|
-
exports.after =
|
|
12
|
-
exports.assign =
|
|
13
|
-
exports.cancel =
|
|
14
|
-
exports.choose =
|
|
15
|
-
exports.done =
|
|
16
|
-
exports.doneInvoke =
|
|
17
|
-
exports.error =
|
|
18
|
-
exports.escalate =
|
|
19
|
-
exports.forwardTo =
|
|
20
|
-
exports.
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
23
|
-
exports.
|
|
24
|
-
exports.
|
|
25
|
-
exports.
|
|
26
|
-
exports.
|
|
27
|
-
exports.
|
|
28
|
-
exports.
|
|
29
|
-
exports.
|
|
30
|
-
exports.
|
|
31
|
-
exports.toActionObject = guards_dist_xstateGuards.toActionObject;
|
|
32
|
-
exports.toActionObjects = guards_dist_xstateGuards.toActionObjects;
|
|
10
|
+
exports.actionTypes = actors_dist_xstateActors.actionTypes;
|
|
11
|
+
exports.after = actors_dist_xstateActors.after;
|
|
12
|
+
exports.assign = actors_dist_xstateActors.assign;
|
|
13
|
+
exports.cancel = actors_dist_xstateActors.cancel;
|
|
14
|
+
exports.choose = actors_dist_xstateActors.choose;
|
|
15
|
+
exports.done = actors_dist_xstateActors.done;
|
|
16
|
+
exports.doneInvoke = actors_dist_xstateActors.doneInvoke;
|
|
17
|
+
exports.error = actors_dist_xstateActors.error;
|
|
18
|
+
exports.escalate = actors_dist_xstateActors.escalate;
|
|
19
|
+
exports.forwardTo = actors_dist_xstateActors.forwardTo;
|
|
20
|
+
exports.initEvent = actors_dist_xstateActors.initEvent;
|
|
21
|
+
exports.log = actors_dist_xstateActors.log;
|
|
22
|
+
exports.raise = actors_dist_xstateActors.raise;
|
|
23
|
+
exports.resolveActionObject = actors_dist_xstateActors.resolveActionObject;
|
|
24
|
+
exports.respond = actors_dist_xstateActors.respond;
|
|
25
|
+
exports.send = actors_dist_xstateActors.send;
|
|
26
|
+
exports.sendParent = actors_dist_xstateActors.sendParent;
|
|
27
|
+
exports.sendTo = actors_dist_xstateActors.sendTo;
|
|
28
|
+
exports.stop = actors_dist_xstateActors.stop;
|
|
29
|
+
exports.toActionObject = actors_dist_xstateActors.toActionObject;
|
|
30
|
+
exports.toActionObjects = actors_dist_xstateActors.toActionObjects;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { av as actionTypes, a1 as after, a0 as assign, Z as cancel, a6 as choose, a2 as done, aa as doneInvoke, ay as error, a5 as escalate, a4 as forwardTo, K as initEvent, Y as log, U as raise, aw as resolveActionObject, a3 as respond, V as send, W as sendParent, X as sendTo, $ as stop, ax as toActionObject, l as toActionObjects } from '../../dist/actions-b673cb13.esm.js';
|
|
2
2
|
import '../../dist/index-20b364c4.esm.js';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).XStateActions={})}(this,(function(t){"use strict";var e,n;!function(t){t.Stop="xstate.stop",t.Raise="xstate.raise",t.Send="xstate.send",t.Cancel="xstate.cancel",t.Assign="xstate.assign",t.After="xstate.after",t.DoneState="done.state",t.DoneInvoke="done.invoke",t.Log="xstate.log",t.Init="xstate.init",t.Invoke="xstate.invoke",t.ErrorExecution="error.execution",t.ErrorCommunication="error.communication",t.ErrorPlatform="error.platform",t.ErrorCustom="xstate.error",t.Pure="xstate.pure",t.Choose="xstate.choose"}(e||(e={})),function(t){t.Parent="#_parent",t.Internal="#_internal"}(n||(n={}));var r=e.Stop,i=e.Raise,o=e.Send,a=e.Cancel,s=e.Assign,u=e.After,c=e.DoneState,l=e.Log,f=e.Init,d=e.Invoke,v=e.ErrorExecution,h=e.ErrorPlatform,p=e.ErrorCustom,y=e.Choose,m=e.Pure,g=Object.freeze({__proto__:null,stop:r,raise:i,send:o,cancel:a,assign:s,after:u,doneState:c,log:l,init:f,invoke:d,errorExecution:v,errorPlatform:h,error:p,choose:y,pure:m});function b(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function _(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function x(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?_(Object(n),!0).forEach((function(e){b(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function S(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function w(t,e){if(t){if("string"==typeof t)return S(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?S(t,e):void 0}}function k(t){return function(t){if(Array.isArray(t))return S(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||w(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(t,e){var n;if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(n=w(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var r=0,i=function(){};return{s:i,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){s=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function E(t){return(E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function j(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".",r=I(t,n),i=I(e,n);return M(i)?!!M(r)&&i===r:M(r)?r in i:Object.keys(r).every((function(t){return t in i&&j(r[t],i[t])}))}function I(t,e){return"object"===E(n=t)&&"value"in n&&"context"in n&&"event"in n&&"_event"in n?t.value:C(t)?T(t):"string"!=typeof t?t:T(function(t,e){try{return C(t)?t:t.toString().split(e)}catch(e){throw new Error("'".concat(t,"' is not a valid state path."))}}(t,e));var n}function T(t){if(1===t.length)return t[0];for(var e={},n=e,r=0;r<t.length-1;r++)r===t.length-2?n[t[r]]=t[r+1]:(n[t[r]]={},n=n[t[r]]);return e}function A(t){var e;return(e=[]).concat.apply(e,k(t))}function P(t,e,n){if(D(t))return t(e,n.data);for(var r={},i=0,o=Object.keys(t);i<o.length;i++){var a=o[i],s=t[a];D(s)?r[a]=s(e,n.data):r[a]=s}return r}function C(t){return Array.isArray(t)}function D(t){return"function"==typeof t}function M(t){return"string"==typeof t}function N(t,e){return function(t){return"$$type"in t&&"scxml"===t.$$type}(t)?t:x({name:t.type,data:t,$$type:"scxml",type:"external"},e)}function R(t,e,n){var r=function(){},i="object"===E(t),o=i?t:null;return{next:((i?t.next:t)||r).bind(o),error:((i?t.error:e)||r).bind(o),complete:((i?t.complete:n)||r).bind(o)}}function $(t,e){return{type:t.type,params:t.params,resolve:e}}function q(t){return"object"===E(t)&&null!==t&&"resolve"in t}function z(t,e){var r=(D(t),t);return $({type:o,params:{to:e?e.to:void 0,delay:e?e.delay:void 0,event:r,id:e&&void 0!==e.id?e.id:D(t)?t.name:t.type}},(function(i,a){var s,u=a.actorContext,c=a.state,l={to:e?e.to:void 0,delay:e?e.delay:void 0,event:r,id:e&&void 0!==e.id?e.id:D(t)?t.name:t.type},f={_event:i},d=c.machine.options.delays,v=N(D(r)?r(c.context,i.data,f):r);if(M(l.delay)){var h=d&&d[l.delay];s=D(h)?h(c.context,i.data,f):h}else s=D(l.delay)?l.delay(c.context,i.data,f):l.delay;var y,m=D(l.to)?l.to(c.context,i.data,f):l.to;if("string"==typeof m){if(!(y=m===n.Parent?null==u?void 0:u.self._parent:m===n.Internal?null==u?void 0:u.self:m.startsWith("#_")?c.children[m.slice(2)]:c.children[m]))throw new Error("Unable to send event to actor '".concat(m,"' from machine '").concat(c.machine.id,"'."))}else y=m||(null==u?void 0:u.self);var g={type:o,params:x(x({},l),{},{to:y,_event:v,event:v.data,delay:s,internal:m===n.Internal}),execute:function(t){var e=g;if("number"!=typeof e.params.delay){var n=e.params.to,r=e.params._event;t.defer((function(){var e=t.self,i=x(x({},r),{},{name:r.name===p?"".concat(It(e.id)):r.name,origin:e});n.send(i)}))}else t.self.delaySend(e)}};return[c,g]}))}function B(t,e){return z(t,x(x({},e),{},{to:n.Parent}))}function J(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Q(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function U(t,e,n){return e&&Q(t.prototype,e),n&&Q(t,n),t}var V="function"==typeof Symbol&&Symbol.observable||"@@observable",L="xstate.stop";function W(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:window;if(t.__xstate__)return t.__xstate__}var F,G=function(t){var e=W();e&&e.register(t)},X=function(){function t(e){J(this,t),this._process=e,b(this,"_active",!1),b(this,"_current",null),b(this,"_last",null)}return U(t,[{key:"start",value:function(){this._active=!0,this.flush()}},{key:"clear",value:function(){this._current&&(this._current.next=null,this._last=this._current)}},{key:"prepend",value:function(t){this._current?this._current={value:t,next:this._current}:this.enqueue(t)}},{key:"enqueue",value:function(t){var e={value:t,next:null};if(this._current)return this._last.next=e,void(this._last=e);this._current=e,this._last=e,this._active&&this.flush()}},{key:"flush",value:function(){for(;this._current;){var t=this._current;this._process(t.value),t===this._current&&(this._current=this._current.next)}this._last=null}}]),t}(),H=new Map,K=0,Y=function(){return"x:".concat(K++)},Z=function(t,e){return H.set(t,e),t},tt=function(t){H.delete(t)},et=new WeakMap;function nt(t,e,n){var r=et.get(t);return r?e in r||(r[e]=n()):(r=b({},e,n()),et.set(t,r)),r[e]}!function(t){t[t.NotStarted=0]="NotStarted",t[t.Running=1]="Running",t[t.Stopped=2]="Stopped"}(F||(F={}));var rt={deferEvents:!0,clock:{setTimeout:function(t){function e(e,n){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t,e){return setTimeout(t,e)})),clearTimeout:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){return clearTimeout(t)}))},logger:console.log.bind(console),devTools:!1},it=function(){function t(e,n){var r=this;J(this,t),this.behavior=e,b(this,"_state",void 0),b(this,"clock",void 0),b(this,"options",void 0),b(this,"id",void 0),b(this,"mailbox",new X(this._process.bind(this))),b(this,"delayedEventsMap",{}),b(this,"observers",new Set),b(this,"logger",void 0),b(this,"status",F.NotStarted),b(this,"_parent",void 0),b(this,"ref",void 0),b(this,"_actorContext",void 0),b(this,"sessionId",void 0),b(this,"_forwardTo",new Set),b(this,"_deferred",[]);var i=x(x({},rt),n),o=i.clock,a=i.logger,s=i.parent,u=i.id;this.sessionId=Y(),this.id=null!=u?u:this.sessionId,this.logger=a,this.clock=o,this._parent=s,this.options=i,this.ref=this,this._actorContext={self:this,id:this.id,sessionId:this.sessionId,logger:this.logger,defer:function(t){r._deferred.push(t)}},this.send=this.send.bind(this)}return U(t,[{key:"_getInitialState",value:function(){var t=this;return nt(this,"initial",(function(){return t.behavior.getInitialState(t._actorContext)}))}},{key:"update",value:function(t){var e,n,r,i;this._state=t;for(var o,a=this.getSnapshot();o=this._deferred.shift();)o(t);var s,u=O(this.observers);try{for(u.s();!(s=u.n()).done;){var c,l=s.value;null===(c=l.next)||void 0===c||c.call(l,a)}}catch(t){u.e(t)}finally{u.f()}var f=null===(e=(n=this.behavior).getStatus)||void 0===e?void 0:e.call(n,t);switch(null==f?void 0:f.status){case"done":null===(r=this._parent)||void 0===r||r.send(N(jt(this.id,f.data),{origin:this,invokeid:this.id})),this._stop();break;case"error":null===(i=this._parent)||void 0===i||i.send(N(It(this.id,f.data),{origin:this}));var d,v=O(this.observers);try{for(v.s();!(d=v.n()).done;){var h,p=d.value;null===(h=p.error)||void 0===h||h.call(p,f.data)}}catch(t){v.e(t)}finally{v.f()}}}},{key:"onTransition",value:function(t){var e,n=R(t);(this.observers.add(n),this.status===F.Running)&&(null===(e=n.next)||void 0===e||e.call(n,this.getSnapshot()));return this}},{key:"subscribe",value:function(t,e,n){var r,i,o=this,a=R(t,e,n);(this.observers.add(a),this.status!==F.NotStarted)&&(null===(r=a.next)||void 0===r||r.call(a,this.getSnapshot()));this.status===F.Stopped&&(null===(i=a.complete)||void 0===i||i.call(a),this.observers.delete(a));return{unsubscribe:function(){o.observers.delete(a)}}}},{key:"onDone",value:function(t){var e=this;return this.observers.add({complete:function(){var n=e.getSnapshot();n.done&&t(jt(e.id,n.output))}}),this}},{key:"start",value:function(t){var e,n,r;if(this.status===F.Running)return this;Z(this.sessionId,this.ref),this.status=F.Running;var i=t?null===(e=(n=this.behavior).restoreState)||void 0===e?void 0:e.call(n,t,this._actorContext):null!==(r=this._getInitialState())&&void 0!==r?r:void 0;return this.behavior.start&&(i=this.behavior.start(i,this._actorContext)),this.update(i),this.options.devTools&&this.attachDevTools(),this.mailbox.start(),this}},{key:"_process",value:function(t){this.forward(t);try{var e=this.behavior.transition(this._state,t,this._actorContext);this.update(e),t.name===L&&this._stop()}catch(t){if(!(this.observers.size>0))throw t;this.observers.forEach((function(e){var n;null===(n=e.error)||void 0===n||n.call(e,t)})),this.stop()}}},{key:"stop",value:function(){return function(t,e){if(e){var n=et.get(t);n&&delete n[e]}else et.delete(t)}(this,"initial"),this.status===F.Stopped?this:(this.mailbox.clear(),this.status===F.NotStarted?(this.status=F.Stopped,this):(this.mailbox.enqueue(N({type:L})),this))}},{key:"_complete",value:function(){var t,e=O(this.observers);try{for(e.s();!(t=e.n()).done;){var n,r=t.value;null===(n=r.complete)||void 0===n||n.call(r)}}catch(t){e.e(t)}finally{e.f()}this.observers.clear()}},{key:"_stop",value:function(){if(this._complete(),this.status!==F.Running)return this;for(var t=0,e=Object.keys(this.delayedEventsMap);t<e.length;t++){var n=e[t];this.clock.clearTimeout(this.delayedEventsMap[n])}return this.mailbox.clear(),this.mailbox=new X(this._process.bind(this)),this.status=F.Stopped,tt(this.sessionId),this}},{key:"send",value:function(t){var e=N(t);if(this.status!==F.Stopped){if(this.status!==F.Running&&!this.options.deferEvents)throw new Error('Event "'.concat(e.name,'" was sent to uninitialized actor "').concat(this.id,'". Make sure .start() is called for this actor, or set { deferEvents: true } in the actor options.\nEvent: ').concat(JSON.stringify(e.data)));this.mailbox.enqueue(e)}}},{key:"forward",value:function(t){var e,n=O(this._forwardTo);try{for(n.s();!(e=n.n()).done;){e.value.send(t)}}catch(t){n.e(t)}finally{n.f()}}},{key:"delaySend",value:function(t){var e=this;this.delayedEventsMap[t.params.id]=this.clock.setTimeout((function(){t.params.to?t.params.to.send(t.params._event):e.send(t.params._event)}),t.params.delay)}},{key:"cancel",value:function(t){this.clock.clearTimeout(this.delayedEventsMap[t]),delete this.delayedEventsMap[t]}},{key:"attachDevTools",value:function(){var t=this.options.devTools;t&&("function"==typeof t?t:G)(this)}},{key:"toJSON",value:function(){return{id:this.id}}},{key:V,value:function(){return this}},{key:"getSnapshot",value:function(){var t,e=null!==(t=this.behavior.getSnapshot)&&void 0!==t?t:function(t){return t};return this.status===F.NotStarted?e(this._getInitialState()):e(this._state)}}]),t}();function ot(t,e){return new it(t,e)}var at=function(t,e){return{context:t,event:e}};function st(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},o=Object.keys(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r<o.length;r++)n=o[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function ut(t,e,n,r){var i,o,a,s=r.machine,u={state:r,guard:t,_event:n,evaluate:ut},c=null!==(i=null==s||null===(o=s.options)||void 0===o||null===(a=o.guards)||void 0===a?void 0:a[t.type])&&void 0!==i?i:t.predicate;if(!c)throw new Error("Guard '".concat(t.type,"' is not implemented.'."));return c(e,n.data,u)}function ct(t,e){var n;return M(t)?{type:t,predicate:(null==e?void 0:e(t))||void 0,params:{type:t}}:D(t)?{type:t.name,predicate:t,params:{type:t.name,name:t.name}}:{type:t.type,params:t.params||t,children:null===(n=t.children)||void 0===n?void 0:n.map((function(t){return ct(t,e)})),predicate:(null==e?void 0:e(t.type))||t.predicate}}function lt(t){return Object.values(t.states).filter((function(t){return"history"!==t.type}))}function ft(t,e){for(var n=[],r=t.parent;r&&r!==e;)n.push(r),r=r.parent;return n}function dt(t){var e,n=new Set(t),r=new Set(t),i=ht(r),o=O(n);try{for(o.s();!(e=o.n()).done;){var a=e.value;if("compound"!==a.type||i.get(a)&&i.get(a).length){if("parallel"===a.type){var s,u=O(lt(a));try{for(u.s();!(s=u.n()).done;){var c=s.value;if("history"!==c.type&&!r.has(c)){var l,f=O(yt(c));try{for(f.s();!(l=f.n()).done;){var d=l.value;r.add(d)}}catch(t){f.e(t)}finally{f.f()}}}}catch(t){u.e(t)}finally{u.f()}}}else yt(a).forEach((function(t){return r.add(t)}))}}catch(t){o.e(t)}finally{o.f()}var v,h=O(r);try{for(h.s();!(v=h.n()).done;)for(var p=v.value.parent;p;)r.add(p),p=p.parent}catch(t){h.e(t)}finally{h.f()}return r}function vt(t,e){var n,r=e.get(t);if(!r)return{};if("compound"===t.type){var i=r[0];if(!i)return{};if("atomic"===(n=i).type||"final"===n.type)return i.key}var o,a={},s=O(r);try{for(s.s();!(o=s.n()).done;){var u=o.value;a[u.key]=vt(u,e)}}catch(t){s.e(t)}finally{s.f()}return a}function ht(t){var e,n=new Map,r=O(t);try{for(r.s();!(e=r.n()).done;){var i=e.value;n.has(i)||n.set(i,[]),i.parent&&(n.has(i.parent)||n.set(i.parent,[]),n.get(i.parent).push(i))}}catch(t){r.e(t)}finally{r.f()}return n}function pt(t,e){return vt(t,ht(dt(e)))}function yt(t){var e=new Set;return function n(r){if(!e.has(r))if(e.add(r),"compound"===r.type){var i,o=O(r.initial.target);try{for(o.s();!(i=o.n()).done;){var a,s=i.value,u=O(ft(s,t));try{for(u.s();!(a=u.n()).done;){var c=a.value;e.add(c)}}catch(t){u.e(t)}finally{u.f()}n(s)}}catch(t){o.e(t)}finally{o.f()}}else if("parallel"===r.type){var l,f=O(lt(r));try{for(f.s();!(l=f.n()).done;){n(l.value)}}catch(t){f.e(t)}finally{f.f()}}}(t),k(e)}function mt(t,e){if("#"===e[0])return t.machine.getStateNodeById(e);if(!t.states)throw new Error("Unable to retrieve child state '".concat(e,"' from '").concat(t.id,"'; no child states exist."));var n=t.states[e];if(!n)throw new Error("Child state '".concat(e,"' does not exist on '").concat(t.id,"'"));return n}function gt(t,e){var n=e instanceof _t?e.value:I(e,t.machine.delimiter);if(M(n))return[t,t.states[n]];var r=Object.keys(n),i=r.map((function(e){return mt(t,e)})).filter(Boolean);return[t.machine.root,t].concat(i,r.reduce((function(e,r){var i=mt(t,r);if(!i)return e;var o=gt(i,n[r]);return e.concat(o)}),[]))}var bt=["configuration","transitions","tags","machine"],_t=function(){function t(e,n){var r,i,o,a;J(this,t),this.machine=n,b(this,"value",void 0),b(this,"done",void 0),b(this,"output",void 0),b(this,"context",void 0),b(this,"historyValue",{}),b(this,"actions",[]),b(this,"event",void 0),b(this,"_internalQueue",void 0),b(this,"_event",void 0),b(this,"_sessionid",void 0),b(this,"_initial",!1),b(this,"changed",void 0),b(this,"configuration",void 0),b(this,"transitions",void 0),b(this,"children",void 0),this.context=e.context,this._event=e._event,this._sessionid=e._sessionid,this._internalQueue=null!==(r=e._internalQueue)&&void 0!==r?r:[],this.event=this._event.data,this.historyValue=e.historyValue||{},this.actions=null!==(i=e.actions)&&void 0!==i?i:[],this.matches=this.matches.bind(this),this.toStrings=this.toStrings.bind(this),this.configuration=null!==(o=e.configuration)&&void 0!==o?o:Array.from(dt(gt(n.root,e.value))),this.transitions=e.transitions,this.children=e.children,this.value=pt(n.root,this.configuration),this.done=null!==(a=e.done)&&void 0!==a&&a,this.output=e.output}return U(t,[{key:"toStrings",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.value,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:".";if(M(e))return[e];var r=Object.keys(e);return r.concat.apply(r,k(r.map((function(r){return t.toStrings(e[r],n).map((function(t){return r+n+t}))}))))}},{key:"toJSON",value:function(){this.configuration,this.transitions;var t=this.tags;this.machine;return x(x({},st(this,bt)),{},{tags:Array.from(t),meta:this.meta})}},{key:"matches",value:function(t){return j(t,this.value)}},{key:"hasTag",value:function(t){return this.tags.has(t)}},{key:"can",value:function(t){this.machine;var e=this.machine.getTransitionData(this,N(t));return!(null==e||!e.length)&&e.some((function(t){return void 0!==t.target||t.actions.length}))}},{key:"nextEvents",get:function(){var t=this;return nt(this,"nextEvents",(function(){return k(new Set(A(k(t.configuration.map((function(t){return t.ownEvents}))))))}))}},{key:"meta",get:function(){return this.configuration.reduce((function(t,e){return void 0!==e.meta&&(t[e.id]=e.meta),t}),{})}},{key:"tags",get:function(){return new Set(A(this.configuration.map((function(t){return t.tags}))))}}],[{key:"from",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;if(e instanceof t)return e.context!==n?new t({value:e.value,context:n,_event:e._event,_sessionid:void 0,actions:[],meta:{},configuration:[],transitions:[],children:{}},r):e;var i=kt,o=dt(gt(r.root,e));return new t({value:e,context:n,_event:i,_sessionid:void 0,actions:[],meta:void 0,configuration:Array.from(o),transitions:[],children:{}},r)}}]),t}();function xt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new _t(x(x({},t),e),t.machine)}function St(t){return $({type:d,params:t},(function(e,n){var r,i,o=n.state,a=d,s=t.id,u=t.data,c=t.src,l=t.meta;if((i=c)&&"object"===E(i)&&"function"==typeof i.send)r={type:a,params:x(x({},t),{},{ref:c})};else{var f=o.machine.options.actors[c.type];if(f){var v="function"==typeof f?f(o.context,e.data,{id:s,data:u&&P(u,o.context,e),src:c,_event:e,meta:l}):f;r={type:a,params:x(x({},t),{},{ref:ot(v,{id:s})})}}else r={type:a,params:t}}var h=r.params.ref,p=xt(o,{children:x(x({},o.children),{},b({},s,h))});return r.execute=function(t){var e=t.self,n=r.params,i=n.id,o=n.autoForward,a=n.ref;a&&(a._parent=e,t.defer((function(){if(h.status!==F.Stopped)try{var t;o&&e._forwardTo.add(h),null===(t=h.start)||void 0===t||t.call(h)}catch(t){return void e.send(It(i,t))}})))},[p,r]}))}function wt(t,e,n,r){return function(i,o){if(M(i)){var a=t.options.actors[i];if(a){var s=null!=o?o:"anon",u=ot("function"==typeof a?a(e,n.data,{id:s,src:{type:i},_event:n,meta:void 0}):a,{id:s});return r.push(St({id:u.id,src:u,ref:u,meta:void 0})),u}throw new Error("Behavior '".concat(i,"' not implemented in machine '").concat(t.id,"'"))}var c=ot(i,{id:o||"anonymous"});return r.push(St({src:c,ref:c,id:c.id,meta:void 0})),c}}var kt=N({type:f});function Ot(t){if(q(t))return t;if("string"==typeof t)return{type:t,params:{}};if("function"==typeof t){var e="xstate.function";return $({type:e,params:{}},(function(n,r){var i=r.state,o={type:e,params:{function:t},execute:function(e){return t(i.context,n.data,{action:o,_event:n,state:i})}};return[i,o]}))}return t}var Et=function(t){return t?(C(t)?t:[t]).map(Ot):[]};function jt(t,n){var r="".concat(e.DoneInvoke,".").concat(t),i={type:r,data:n,toString:function(){return r}};return i}function It(t,n){var r="".concat(e.ErrorPlatform,".").concat(t),i={type:r,data:n,toString:function(){return r}};return i}t.actionTypes=g,t.after=function(t,n){var r=n?"#".concat(n):"";return"".concat(e.After,"(").concat(t,")").concat(r)},t.assign=function(t){return $({type:s,params:{assignment:t}},(function(e,n){var r=n.state,i=n.action,o=[];if(!r.context)throw new Error("Cannot assign to undefined `context`. Ensure that `context` is defined in the machine config.");var a={state:r,action:i,_event:e,spawn:wt(r.machine,r.context,e,o)},u={};if(D(t))u=t(r.context,e.data,a);else for(var c=0,l=Object.keys(t);c<l.length;c++){var f=l[c],d=t[f];u[f]=D(d)?d(r.context,e.data,a):d}var v=Object.assign({},r.context,u);return[xt(r,{context:v}),{type:s,params:{context:v,actions:o}}]}))},t.cancel=function(t){return $({type:a,params:{sendId:t}},(function(e,n){var r=n.state,i=D(t)?t(r.context,e.data,{_event:e}):t;return[r,{type:"xstate.cancel",params:{sendId:i},execute:function(t){t.self.cancel(i)}}]}))},t.choose=function(t){return $({type:y,params:{guards:t}},(function(e,n){var r,i=n.state,o=null===(r=t.find((function(t){var n=t.guard&&ct(t.guard,(function(t){return i.machine.options.guards[t]}));return!n||ut(n,i.context,e,i)})))||void 0===r?void 0:r.actions;return[i,{type:y,params:{actions:Et(o)}}]}))},t.done=function(t,n){var r="".concat(e.DoneState,".").concat(t),i={type:r,data:n,toString:function(){return r}};return i},t.doneInvoke=jt,t.error=It,t.escalate=function(t,e){return B((function(e,n,r){return{type:p,data:D(t)?t(e,n,r):t}}),x(x({},e),{},{to:n.Parent}))},t.forwardTo=function(t,e){if("production"!==process.env.NODE_END&&(!t||"function"==typeof t)){var n=t;t=function(){var t="function"==typeof n?n.apply(void 0,arguments):n;if(!t)throw new Error("Attempted to forward event to undefined actor. This risks an infinite loop in the sender.");return t}}return z((function(t,e){return e}),x(x({},e),{},{to:t}))},t.initEvent=kt,t.log=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:at,e=arguments.length>1?arguments[1]:void 0;return $({type:l,params:{label:e,expr:t}},(function(n,r){var i=r.state,o="function"==typeof t?t(i.context,n.data,{_event:n}):t;return[i,{type:"xstate.log",params:{label:e,value:o},execute:function(t){var n,r;e?null===(n=t.logger)||void 0===n||n.call(t,e,o):null===(r=t.logger)||void 0===r||r.call(t,o)}}]}))},t.raise=function(t){return $({type:i,params:{_event:N(t)}},(function(e,n){return[n.state,{type:i,params:{_event:N(t)}}]}))},t.resolveActionObject=function(t,e){if(q(t))return t;var n,r=e[t.type];return"function"==typeof r?$({type:"xstate.expr",params:null!==(n=t.params)&&void 0!==n?n:{}},(function(e,n){var i=n.state,o={type:t.type,params:t.params,execute:function(t){return r(i.context,i.event,{action:o,_event:i._event,state:i})}};return[i,o]})):r||t},t.respond=function(t,e){return z(t,x(x({},e),{},{to:function(t,e,n){return n._event.origin}}))},t.send=z,t.sendParent=B,t.sendTo=function(t,e,n){return z(e,x(x({},n),{},{to:t}))},t.stop=function(t){var e=t;return $({type:r,params:{actor:e}},(function(t,n){var r=n.state,i=D(e)?e(r.context,t.data):e,o="string"==typeof i?r.children[i]:i;return[r,{type:"xstate.stop",params:{actor:o},execute:function(t){var e;o&&(o.status===F.Running?t.defer((function(){var t;null===(t=o.stop)||void 0===t||t.call(o)})):null===(e=o.stop)||void 0===e||e.call(o))}}]}))},t.toActionObject=Ot,t.toActionObjects=Et,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
|
+
//# sourceMappingURL=xstate-actions.umd.min.js.map
|