xstate 5.0.0-beta.32 → 5.0.0-beta.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/actions/dist/xstate-actions.cjs.js +3 -3
  2. package/actions/dist/xstate-actions.development.cjs.js +3 -3
  3. package/actions/dist/xstate-actions.development.esm.js +3 -3
  4. package/actions/dist/xstate-actions.esm.js +3 -3
  5. package/actions/dist/xstate-actions.umd.min.js +1 -1
  6. package/actions/dist/xstate-actions.umd.min.js.map +1 -1
  7. package/actors/dist/xstate-actors.cjs.js +31 -20
  8. package/actors/dist/xstate-actors.development.cjs.js +31 -20
  9. package/actors/dist/xstate-actors.development.esm.js +31 -20
  10. package/actors/dist/xstate-actors.esm.js +31 -20
  11. package/actors/dist/xstate-actors.umd.min.js +1 -1
  12. package/actors/dist/xstate-actors.umd.min.js.map +1 -1
  13. package/dist/declarations/src/index.d.ts +1 -0
  14. package/dist/declarations/src/interpreter.d.ts +1 -1
  15. package/dist/declarations/src/stateUtils.d.ts +2 -2
  16. package/dist/declarations/src/system.d.ts +22 -0
  17. package/dist/declarations/src/types.d.ts +4 -5
  18. package/dist/declarations/src/utils.d.ts +0 -1
  19. package/dist/{interpreter-05e11c15.cjs.js → interpreter-1301970f.cjs.js} +77 -32
  20. package/dist/{interpreter-a2236840.development.cjs.js → interpreter-70ed62f2.development.cjs.js} +80 -32
  21. package/dist/{interpreter-d5fa7ce0.esm.js → interpreter-83f7f2d4.esm.js} +78 -33
  22. package/dist/{interpreter-e4d2487f.development.esm.js → interpreter-dee56dc8.development.esm.js} +81 -33
  23. package/dist/{raise-6fbd4513.development.esm.js → raise-05f8b2a6.development.esm.js} +52 -33
  24. package/dist/{raise-90808d65.cjs.js → raise-1dd65455.cjs.js} +52 -33
  25. package/dist/{raise-b4bfe138.development.cjs.js → raise-38b707c0.development.cjs.js} +52 -33
  26. package/dist/{raise-6a68d0cc.esm.js → raise-b5cfe1bb.esm.js} +52 -33
  27. package/dist/{send-e5f0f3f6.esm.js → send-0b5eda0c.esm.js} +15 -9
  28. package/dist/{send-4163d2af.development.cjs.js → send-3764c866.development.cjs.js} +15 -9
  29. package/dist/{send-7baeedcb.development.esm.js → send-9526366e.development.esm.js} +15 -9
  30. package/dist/{send-72e85cc6.cjs.js → send-fe94de2b.cjs.js} +15 -9
  31. package/dist/xstate.cjs.js +6 -31
  32. package/dist/xstate.development.cjs.js +6 -31
  33. package/dist/xstate.development.esm.js +9 -34
  34. package/dist/xstate.esm.js +9 -34
  35. package/dist/xstate.umd.min.js +1 -1
  36. package/dist/xstate.umd.min.js.map +1 -1
  37. package/guards/dist/xstate-guards.cjs.js +2 -2
  38. package/guards/dist/xstate-guards.development.cjs.js +2 -2
  39. package/guards/dist/xstate-guards.development.esm.js +2 -2
  40. package/guards/dist/xstate-guards.esm.js +2 -2
  41. package/guards/dist/xstate-guards.umd.min.js.map +1 -1
  42. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var interpreter = require('../../dist/interpreter-05e11c15.cjs.js');
5
+ var interpreter = require('../../dist/interpreter-1301970f.cjs.js');
6
6
  require('../../dev/dist/xstate-dev.cjs.js');
7
7
 
8
8
  /**
@@ -39,26 +39,28 @@ function fromTransition(transition, initialContext) {
39
39
  }
40
40
 
41
41
  function fromCallback(invokeCallback) {
42
- return {
42
+ const logic = {
43
43
  config: invokeCallback,
44
44
  start: (_state, {
45
- self
45
+ self,
46
+ system
46
47
  }) => {
47
- self.send({
48
- type: interpreter.XSTATE_INIT
48
+ system._relay(self, self, {
49
+ type: 'xstate.create'
49
50
  });
50
51
  },
51
52
  transition: (state, event, {
52
53
  self,
53
- id,
54
54
  system
55
55
  }) => {
56
- if (event.type === interpreter.XSTATE_INIT) {
56
+ if (event.type === 'xstate.create') {
57
57
  const sendBack = eventForParent => {
58
58
  if (state.status === 'stopped') {
59
59
  return;
60
60
  }
61
- self._parent?.send(eventForParent);
61
+ if (self._parent) {
62
+ system._relay(self, self._parent, eventForParent);
63
+ }
62
64
  };
63
65
  const receive = newListener => {
64
66
  state._receivers.add(newListener);
@@ -107,18 +109,22 @@ function fromCallback(invokeCallback) {
107
109
  ...state
108
110
  })
109
111
  };
112
+ return logic;
110
113
  }
111
114
 
112
115
  function fromObservable(observableCreator) {
113
116
  const nextEventType = '$$xstate.next';
114
117
  const errorEventType = '$$xstate.error';
115
118
  const completeEventType = '$$xstate.complete';
116
- return {
119
+
120
+ // TODO: add event types
121
+ const logic = {
117
122
  config: observableCreator,
118
123
  transition: (snapshot, event, {
119
124
  self,
120
125
  id,
121
- defer
126
+ defer,
127
+ system
122
128
  }) => {
123
129
  if (snapshot.status !== 'active') {
124
130
  return snapshot;
@@ -126,10 +132,11 @@ function fromObservable(observableCreator) {
126
132
  switch (event.type) {
127
133
  case nextEventType:
128
134
  {
129
- return {
135
+ const newSnapshot = {
130
136
  ...snapshot,
131
137
  context: event.data
132
138
  };
139
+ return newSnapshot;
133
140
  }
134
141
  case errorEventType:
135
142
  return {
@@ -182,19 +189,19 @@ function fromObservable(observableCreator) {
182
189
  self
183
190
  }).subscribe({
184
191
  next: value => {
185
- self.send({
192
+ system._relay(self, self, {
186
193
  type: nextEventType,
187
194
  data: value
188
195
  });
189
196
  },
190
197
  error: err => {
191
- self.send({
198
+ system._relay(self, self, {
192
199
  type: errorEventType,
193
200
  data: err
194
201
  });
195
202
  },
196
203
  complete: () => {
197
- self.send({
204
+ system._relay(self, self, {
198
205
  type: completeEventType
199
206
  });
200
207
  }
@@ -209,6 +216,7 @@ function fromObservable(observableCreator) {
209
216
  _subscription: undefined
210
217
  })
211
218
  };
219
+ return logic;
212
220
  }
213
221
 
214
222
  /**
@@ -225,7 +233,7 @@ function fromEventObservable(lazyObservable) {
225
233
  const completeEventType = '$$xstate.complete';
226
234
 
227
235
  // TODO: event types
228
- return {
236
+ const logic = {
229
237
  config: lazyObservable,
230
238
  transition: (state, event) => {
231
239
  if (state.status !== 'active') {
@@ -283,16 +291,18 @@ function fromEventObservable(lazyObservable) {
283
291
  self
284
292
  }).subscribe({
285
293
  next: value => {
286
- self._parent?.send(value);
294
+ if (self._parent) {
295
+ system._relay(self, self._parent, value);
296
+ }
287
297
  },
288
298
  error: err => {
289
- self.send({
299
+ system._relay(self, self, {
290
300
  type: errorEventType,
291
301
  data: err
292
302
  });
293
303
  },
294
304
  complete: () => {
295
- self.send({
305
+ system._relay(self, self, {
296
306
  type: completeEventType
297
307
  });
298
308
  }
@@ -307,6 +317,7 @@ function fromEventObservable(lazyObservable) {
307
317
  _subscription: undefined
308
318
  })
309
319
  };
320
+ return logic;
310
321
  }
311
322
 
312
323
  const resolveEventType = '$$xstate.resolve';
@@ -367,7 +378,7 @@ promiseCreator) {
367
378
  if (self.getSnapshot().status !== 'active') {
368
379
  return;
369
380
  }
370
- self.send({
381
+ system._relay(self, self, {
371
382
  type: resolveEventType,
372
383
  data: response
373
384
  });
@@ -375,7 +386,7 @@ promiseCreator) {
375
386
  if (self.getSnapshot().status !== 'active') {
376
387
  return;
377
388
  }
378
- self.send({
389
+ system._relay(self, self, {
379
390
  type: rejectEventType,
380
391
  data: errorData
381
392
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var interpreter = require('../../dist/interpreter-a2236840.development.cjs.js');
5
+ var interpreter = require('../../dist/interpreter-70ed62f2.development.cjs.js');
6
6
  require('../../dev/dist/xstate-dev.development.cjs.js');
7
7
 
8
8
  /**
@@ -39,26 +39,28 @@ function fromTransition(transition, initialContext) {
39
39
  }
40
40
 
41
41
  function fromCallback(invokeCallback) {
42
- return {
42
+ const logic = {
43
43
  config: invokeCallback,
44
44
  start: (_state, {
45
- self
45
+ self,
46
+ system
46
47
  }) => {
47
- self.send({
48
- type: interpreter.XSTATE_INIT
48
+ system._relay(self, self, {
49
+ type: 'xstate.create'
49
50
  });
50
51
  },
51
52
  transition: (state, event, {
52
53
  self,
53
- id,
54
54
  system
55
55
  }) => {
56
- if (event.type === interpreter.XSTATE_INIT) {
56
+ if (event.type === 'xstate.create') {
57
57
  const sendBack = eventForParent => {
58
58
  if (state.status === 'stopped') {
59
59
  return;
60
60
  }
61
- self._parent?.send(eventForParent);
61
+ if (self._parent) {
62
+ system._relay(self, self._parent, eventForParent);
63
+ }
62
64
  };
63
65
  const receive = newListener => {
64
66
  state._receivers.add(newListener);
@@ -107,18 +109,22 @@ function fromCallback(invokeCallback) {
107
109
  ...state
108
110
  })
109
111
  };
112
+ return logic;
110
113
  }
111
114
 
112
115
  function fromObservable(observableCreator) {
113
116
  const nextEventType = '$$xstate.next';
114
117
  const errorEventType = '$$xstate.error';
115
118
  const completeEventType = '$$xstate.complete';
116
- return {
119
+
120
+ // TODO: add event types
121
+ const logic = {
117
122
  config: observableCreator,
118
123
  transition: (snapshot, event, {
119
124
  self,
120
125
  id,
121
- defer
126
+ defer,
127
+ system
122
128
  }) => {
123
129
  if (snapshot.status !== 'active') {
124
130
  return snapshot;
@@ -126,10 +132,11 @@ function fromObservable(observableCreator) {
126
132
  switch (event.type) {
127
133
  case nextEventType:
128
134
  {
129
- return {
135
+ const newSnapshot = {
130
136
  ...snapshot,
131
137
  context: event.data
132
138
  };
139
+ return newSnapshot;
133
140
  }
134
141
  case errorEventType:
135
142
  return {
@@ -182,19 +189,19 @@ function fromObservable(observableCreator) {
182
189
  self
183
190
  }).subscribe({
184
191
  next: value => {
185
- self.send({
192
+ system._relay(self, self, {
186
193
  type: nextEventType,
187
194
  data: value
188
195
  });
189
196
  },
190
197
  error: err => {
191
- self.send({
198
+ system._relay(self, self, {
192
199
  type: errorEventType,
193
200
  data: err
194
201
  });
195
202
  },
196
203
  complete: () => {
197
- self.send({
204
+ system._relay(self, self, {
198
205
  type: completeEventType
199
206
  });
200
207
  }
@@ -209,6 +216,7 @@ function fromObservable(observableCreator) {
209
216
  _subscription: undefined
210
217
  })
211
218
  };
219
+ return logic;
212
220
  }
213
221
 
214
222
  /**
@@ -225,7 +233,7 @@ function fromEventObservable(lazyObservable) {
225
233
  const completeEventType = '$$xstate.complete';
226
234
 
227
235
  // TODO: event types
228
- return {
236
+ const logic = {
229
237
  config: lazyObservable,
230
238
  transition: (state, event) => {
231
239
  if (state.status !== 'active') {
@@ -283,16 +291,18 @@ function fromEventObservable(lazyObservable) {
283
291
  self
284
292
  }).subscribe({
285
293
  next: value => {
286
- self._parent?.send(value);
294
+ if (self._parent) {
295
+ system._relay(self, self._parent, value);
296
+ }
287
297
  },
288
298
  error: err => {
289
- self.send({
299
+ system._relay(self, self, {
290
300
  type: errorEventType,
291
301
  data: err
292
302
  });
293
303
  },
294
304
  complete: () => {
295
- self.send({
305
+ system._relay(self, self, {
296
306
  type: completeEventType
297
307
  });
298
308
  }
@@ -307,6 +317,7 @@ function fromEventObservable(lazyObservable) {
307
317
  _subscription: undefined
308
318
  })
309
319
  };
320
+ return logic;
310
321
  }
311
322
 
312
323
  const resolveEventType = '$$xstate.resolve';
@@ -367,7 +378,7 @@ promiseCreator) {
367
378
  if (self.getSnapshot().status !== 'active') {
368
379
  return;
369
380
  }
370
- self.send({
381
+ system._relay(self, self, {
371
382
  type: resolveEventType,
372
383
  data: response
373
384
  });
@@ -375,7 +386,7 @@ promiseCreator) {
375
386
  if (self.getSnapshot().status !== 'active') {
376
387
  return;
377
388
  }
378
- self.send({
389
+ system._relay(self, self, {
379
390
  type: rejectEventType,
380
391
  data: errorData
381
392
  });
@@ -1,4 +1,4 @@
1
- import { X as XSTATE_INIT, j as XSTATE_STOP, d as createActor } from '../../dist/interpreter-e4d2487f.development.esm.js';
1
+ import { X as XSTATE_STOP, d as createActor } from '../../dist/interpreter-dee56dc8.development.esm.js';
2
2
  import '../../dev/dist/xstate-dev.development.esm.js';
3
3
 
4
4
  /**
@@ -35,26 +35,28 @@ function fromTransition(transition, initialContext) {
35
35
  }
36
36
 
37
37
  function fromCallback(invokeCallback) {
38
- return {
38
+ const logic = {
39
39
  config: invokeCallback,
40
40
  start: (_state, {
41
- self
41
+ self,
42
+ system
42
43
  }) => {
43
- self.send({
44
- type: XSTATE_INIT
44
+ system._relay(self, self, {
45
+ type: 'xstate.create'
45
46
  });
46
47
  },
47
48
  transition: (state, event, {
48
49
  self,
49
- id,
50
50
  system
51
51
  }) => {
52
- if (event.type === XSTATE_INIT) {
52
+ if (event.type === 'xstate.create') {
53
53
  const sendBack = eventForParent => {
54
54
  if (state.status === 'stopped') {
55
55
  return;
56
56
  }
57
- self._parent?.send(eventForParent);
57
+ if (self._parent) {
58
+ system._relay(self, self._parent, eventForParent);
59
+ }
58
60
  };
59
61
  const receive = newListener => {
60
62
  state._receivers.add(newListener);
@@ -103,18 +105,22 @@ function fromCallback(invokeCallback) {
103
105
  ...state
104
106
  })
105
107
  };
108
+ return logic;
106
109
  }
107
110
 
108
111
  function fromObservable(observableCreator) {
109
112
  const nextEventType = '$$xstate.next';
110
113
  const errorEventType = '$$xstate.error';
111
114
  const completeEventType = '$$xstate.complete';
112
- return {
115
+
116
+ // TODO: add event types
117
+ const logic = {
113
118
  config: observableCreator,
114
119
  transition: (snapshot, event, {
115
120
  self,
116
121
  id,
117
- defer
122
+ defer,
123
+ system
118
124
  }) => {
119
125
  if (snapshot.status !== 'active') {
120
126
  return snapshot;
@@ -122,10 +128,11 @@ function fromObservable(observableCreator) {
122
128
  switch (event.type) {
123
129
  case nextEventType:
124
130
  {
125
- return {
131
+ const newSnapshot = {
126
132
  ...snapshot,
127
133
  context: event.data
128
134
  };
135
+ return newSnapshot;
129
136
  }
130
137
  case errorEventType:
131
138
  return {
@@ -178,19 +185,19 @@ function fromObservable(observableCreator) {
178
185
  self
179
186
  }).subscribe({
180
187
  next: value => {
181
- self.send({
188
+ system._relay(self, self, {
182
189
  type: nextEventType,
183
190
  data: value
184
191
  });
185
192
  },
186
193
  error: err => {
187
- self.send({
194
+ system._relay(self, self, {
188
195
  type: errorEventType,
189
196
  data: err
190
197
  });
191
198
  },
192
199
  complete: () => {
193
- self.send({
200
+ system._relay(self, self, {
194
201
  type: completeEventType
195
202
  });
196
203
  }
@@ -205,6 +212,7 @@ function fromObservable(observableCreator) {
205
212
  _subscription: undefined
206
213
  })
207
214
  };
215
+ return logic;
208
216
  }
209
217
 
210
218
  /**
@@ -221,7 +229,7 @@ function fromEventObservable(lazyObservable) {
221
229
  const completeEventType = '$$xstate.complete';
222
230
 
223
231
  // TODO: event types
224
- return {
232
+ const logic = {
225
233
  config: lazyObservable,
226
234
  transition: (state, event) => {
227
235
  if (state.status !== 'active') {
@@ -279,16 +287,18 @@ function fromEventObservable(lazyObservable) {
279
287
  self
280
288
  }).subscribe({
281
289
  next: value => {
282
- self._parent?.send(value);
290
+ if (self._parent) {
291
+ system._relay(self, self._parent, value);
292
+ }
283
293
  },
284
294
  error: err => {
285
- self.send({
295
+ system._relay(self, self, {
286
296
  type: errorEventType,
287
297
  data: err
288
298
  });
289
299
  },
290
300
  complete: () => {
291
- self.send({
301
+ system._relay(self, self, {
292
302
  type: completeEventType
293
303
  });
294
304
  }
@@ -303,6 +313,7 @@ function fromEventObservable(lazyObservable) {
303
313
  _subscription: undefined
304
314
  })
305
315
  };
316
+ return logic;
306
317
  }
307
318
 
308
319
  const resolveEventType = '$$xstate.resolve';
@@ -363,7 +374,7 @@ promiseCreator) {
363
374
  if (self.getSnapshot().status !== 'active') {
364
375
  return;
365
376
  }
366
- self.send({
377
+ system._relay(self, self, {
367
378
  type: resolveEventType,
368
379
  data: response
369
380
  });
@@ -371,7 +382,7 @@ promiseCreator) {
371
382
  if (self.getSnapshot().status !== 'active') {
372
383
  return;
373
384
  }
374
- self.send({
385
+ system._relay(self, self, {
375
386
  type: rejectEventType,
376
387
  data: errorData
377
388
  });
@@ -1,4 +1,4 @@
1
- import { X as XSTATE_INIT, j as XSTATE_STOP, d as createActor } from '../../dist/interpreter-d5fa7ce0.esm.js';
1
+ import { X as XSTATE_STOP, d as createActor } from '../../dist/interpreter-83f7f2d4.esm.js';
2
2
  import '../../dev/dist/xstate-dev.esm.js';
3
3
 
4
4
  /**
@@ -35,26 +35,28 @@ function fromTransition(transition, initialContext) {
35
35
  }
36
36
 
37
37
  function fromCallback(invokeCallback) {
38
- return {
38
+ const logic = {
39
39
  config: invokeCallback,
40
40
  start: (_state, {
41
- self
41
+ self,
42
+ system
42
43
  }) => {
43
- self.send({
44
- type: XSTATE_INIT
44
+ system._relay(self, self, {
45
+ type: 'xstate.create'
45
46
  });
46
47
  },
47
48
  transition: (state, event, {
48
49
  self,
49
- id,
50
50
  system
51
51
  }) => {
52
- if (event.type === XSTATE_INIT) {
52
+ if (event.type === 'xstate.create') {
53
53
  const sendBack = eventForParent => {
54
54
  if (state.status === 'stopped') {
55
55
  return;
56
56
  }
57
- self._parent?.send(eventForParent);
57
+ if (self._parent) {
58
+ system._relay(self, self._parent, eventForParent);
59
+ }
58
60
  };
59
61
  const receive = newListener => {
60
62
  state._receivers.add(newListener);
@@ -103,18 +105,22 @@ function fromCallback(invokeCallback) {
103
105
  ...state
104
106
  })
105
107
  };
108
+ return logic;
106
109
  }
107
110
 
108
111
  function fromObservable(observableCreator) {
109
112
  const nextEventType = '$$xstate.next';
110
113
  const errorEventType = '$$xstate.error';
111
114
  const completeEventType = '$$xstate.complete';
112
- return {
115
+
116
+ // TODO: add event types
117
+ const logic = {
113
118
  config: observableCreator,
114
119
  transition: (snapshot, event, {
115
120
  self,
116
121
  id,
117
- defer
122
+ defer,
123
+ system
118
124
  }) => {
119
125
  if (snapshot.status !== 'active') {
120
126
  return snapshot;
@@ -122,10 +128,11 @@ function fromObservable(observableCreator) {
122
128
  switch (event.type) {
123
129
  case nextEventType:
124
130
  {
125
- return {
131
+ const newSnapshot = {
126
132
  ...snapshot,
127
133
  context: event.data
128
134
  };
135
+ return newSnapshot;
129
136
  }
130
137
  case errorEventType:
131
138
  return {
@@ -178,19 +185,19 @@ function fromObservable(observableCreator) {
178
185
  self
179
186
  }).subscribe({
180
187
  next: value => {
181
- self.send({
188
+ system._relay(self, self, {
182
189
  type: nextEventType,
183
190
  data: value
184
191
  });
185
192
  },
186
193
  error: err => {
187
- self.send({
194
+ system._relay(self, self, {
188
195
  type: errorEventType,
189
196
  data: err
190
197
  });
191
198
  },
192
199
  complete: () => {
193
- self.send({
200
+ system._relay(self, self, {
194
201
  type: completeEventType
195
202
  });
196
203
  }
@@ -205,6 +212,7 @@ function fromObservable(observableCreator) {
205
212
  _subscription: undefined
206
213
  })
207
214
  };
215
+ return logic;
208
216
  }
209
217
 
210
218
  /**
@@ -221,7 +229,7 @@ function fromEventObservable(lazyObservable) {
221
229
  const completeEventType = '$$xstate.complete';
222
230
 
223
231
  // TODO: event types
224
- return {
232
+ const logic = {
225
233
  config: lazyObservable,
226
234
  transition: (state, event) => {
227
235
  if (state.status !== 'active') {
@@ -279,16 +287,18 @@ function fromEventObservable(lazyObservable) {
279
287
  self
280
288
  }).subscribe({
281
289
  next: value => {
282
- self._parent?.send(value);
290
+ if (self._parent) {
291
+ system._relay(self, self._parent, value);
292
+ }
283
293
  },
284
294
  error: err => {
285
- self.send({
295
+ system._relay(self, self, {
286
296
  type: errorEventType,
287
297
  data: err
288
298
  });
289
299
  },
290
300
  complete: () => {
291
- self.send({
301
+ system._relay(self, self, {
292
302
  type: completeEventType
293
303
  });
294
304
  }
@@ -303,6 +313,7 @@ function fromEventObservable(lazyObservable) {
303
313
  _subscription: undefined
304
314
  })
305
315
  };
316
+ return logic;
306
317
  }
307
318
 
308
319
  const resolveEventType = '$$xstate.resolve';
@@ -363,7 +374,7 @@ promiseCreator) {
363
374
  if (self.getSnapshot().status !== 'active') {
364
375
  return;
365
376
  }
366
- self.send({
377
+ system._relay(self, self, {
367
378
  type: resolveEventType,
368
379
  data: response
369
380
  });
@@ -371,7 +382,7 @@ promiseCreator) {
371
382
  if (self.getSnapshot().status !== 'active') {
372
383
  return;
373
384
  }
374
- self.send({
385
+ system._relay(self, self, {
375
386
  type: rejectEventType,
376
387
  data: errorData
377
388
  });