xstate 6.0.0-alpha.3 → 6.0.0-alpha.31
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 +19 -17
- package/bin/xstate.js +36 -0
- package/dist/StateMachine-4e86e818.cjs.js +1079 -0
- package/dist/StateMachine-54d3cf7a.development.esm.js +1103 -0
- package/dist/{StateMachine-0770ac71.development.cjs.js → StateMachine-73b20de0.development.cjs.js} +491 -120
- package/dist/StateMachine-cc0c34dd.esm.js +1071 -0
- package/dist/declarations/src/State.d.ts +16 -3
- package/dist/declarations/src/StateMachine.d.ts +28 -15
- package/dist/declarations/src/StateNode.d.ts +4 -2
- package/dist/declarations/src/actions.d.ts +10 -7
- package/dist/declarations/src/actors/callback.d.ts +2 -0
- package/dist/declarations/src/actors/logic.d.ts +7 -21
- package/dist/declarations/src/actors/observable.d.ts +3 -0
- package/dist/declarations/src/actors/promise.d.ts +6 -2
- package/dist/declarations/src/createActor.d.ts +21 -14
- package/dist/declarations/src/createMachine.d.ts +24 -13
- package/dist/declarations/src/createMachineFromConfig.d.ts +64 -30
- package/dist/declarations/src/fsm.d.ts +76 -0
- package/dist/declarations/src/graph/graph.d.ts +3 -3
- package/dist/declarations/src/graph/shortestPaths.d.ts +2 -2
- package/dist/declarations/src/graph/simplePaths.d.ts +2 -2
- package/dist/declarations/src/index.d.ts +9 -4
- package/dist/declarations/src/machineVersions.d.ts +51 -0
- package/dist/declarations/src/schema.types.d.ts +5 -0
- package/dist/declarations/src/serialize.d.ts +9 -22
- package/dist/declarations/src/setup.d.ts +361 -70
- package/dist/declarations/src/spawn.d.ts +5 -5
- package/dist/declarations/src/stateUtils.d.ts +8 -3
- package/dist/declarations/src/system.d.ts +38 -11
- package/dist/declarations/src/transition.d.ts +8 -5
- package/dist/declarations/src/transitionActions.d.ts +16 -0
- package/dist/declarations/src/types.d.ts +346 -144
- package/dist/declarations/src/types.v6.d.ts +294 -58
- package/dist/declarations/src/utils.d.ts +5 -3
- package/dist/declarations/src/validation/index.d.ts +37 -0
- package/dist/declarations/src/validation.types.d.ts +22 -0
- package/dist/{index-269d256d.development.cjs.js → index-0317dbd5.development.cjs.js} +2220 -1041
- package/dist/{index-a7e3d8b3.esm.js → index-2b16671f.esm.js} +2195 -1038
- package/dist/{index-dda021d5.cjs.js → index-85c48a0a.cjs.js} +2218 -1039
- package/dist/{index-66ff64a6.development.esm.js → index-fbe9e986.development.esm.js} +2197 -1040
- package/dist/xstate-actors.cjs.js +1 -1
- package/dist/xstate-actors.development.cjs.js +1 -1
- package/dist/xstate-actors.development.esm.js +1 -1
- package/dist/xstate-actors.esm.js +1 -1
- package/dist/xstate-actors.umd.min.js +1 -1
- package/dist/xstate-actors.umd.min.js.map +1 -1
- package/dist/xstate-graph.cjs.js +10 -14
- package/dist/xstate-graph.development.cjs.js +10 -14
- package/dist/xstate-graph.development.esm.js +10 -14
- package/dist/xstate-graph.esm.js +10 -14
- package/dist/xstate-graph.umd.min.js +1 -1
- package/dist/xstate-graph.umd.min.js.map +1 -1
- package/dist/xstate-validation.cjs.d.mts +2 -0
- package/dist/xstate-validation.cjs.d.ts +2 -0
- package/dist/xstate-validation.cjs.js +277 -0
- package/dist/xstate-validation.cjs.mjs +5 -0
- package/dist/xstate-validation.development.cjs.js +277 -0
- package/dist/xstate-validation.development.cjs.mjs +5 -0
- package/dist/xstate-validation.development.esm.js +271 -0
- package/dist/xstate-validation.esm.js +271 -0
- package/dist/xstate-validation.umd.min.js +2 -0
- package/dist/xstate-validation.umd.min.js.map +1 -0
- package/dist/xstate.cjs.js +1299 -294
- package/dist/xstate.cjs.mjs +6 -0
- package/dist/xstate.development.cjs.js +1299 -294
- package/dist/xstate.development.cjs.mjs +6 -0
- package/dist/xstate.development.esm.js +1293 -294
- package/dist/xstate.esm.js +1293 -294
- package/dist/xstate.umd.min.js +1 -1
- package/dist/xstate.umd.min.js.map +1 -1
- package/package.json +23 -3
- package/validation/package.json +8 -0
- package/dist/StateMachine-8249d511.esm.js +0 -720
- package/dist/StateMachine-e1048cd6.cjs.js +0 -723
- package/dist/StateMachine-e6ad61d0.development.esm.js +0 -737
package/README.md
CHANGED
|
@@ -119,7 +119,7 @@ npm install xstate
|
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
```ts
|
|
122
|
-
import { createMachine, createActor
|
|
122
|
+
import { createMachine, createActor } from 'xstate';
|
|
123
123
|
|
|
124
124
|
// State machine
|
|
125
125
|
const toggleMachine = createMachine({
|
|
@@ -135,7 +135,9 @@ const toggleMachine = createMachine({
|
|
|
135
135
|
}
|
|
136
136
|
},
|
|
137
137
|
active: {
|
|
138
|
-
entry:
|
|
138
|
+
entry: ({ context }) => ({
|
|
139
|
+
context: { count: context.count + 1 }
|
|
140
|
+
}),
|
|
139
141
|
on: {
|
|
140
142
|
TOGGLE: { target: 'inactive' }
|
|
141
143
|
}
|
|
@@ -164,7 +166,7 @@ toggleActor.send({ type: 'TOGGLE' });
|
|
|
164
166
|
- Deploy to Stately Sky
|
|
165
167
|
- Generate & modify machines with Stately AI
|
|
166
168
|
|
|
167
|
-
<a href="stately.ai/registry/new?ref=github" title="Stately Studio">
|
|
169
|
+
<a href="https://stately.ai/registry/new?ref=github" title="Stately Studio">
|
|
168
170
|
<img src="https://github.com/statelyai/xstate/assets/1093738/74ed9cbc-b824-4ed7-a16d-f104947af8a7" alt="XState Viz" width="800" />
|
|
169
171
|
</a>
|
|
170
172
|
|
|
@@ -365,10 +367,10 @@ const wordMachine = createMachine({
|
|
|
365
367
|
initial: 'off',
|
|
366
368
|
states: {
|
|
367
369
|
on: {
|
|
368
|
-
on: { TOGGLE_BOLD: 'off' }
|
|
370
|
+
on: { TOGGLE_BOLD: { target: 'off' } }
|
|
369
371
|
},
|
|
370
372
|
off: {
|
|
371
|
-
on: { TOGGLE_BOLD: 'on' }
|
|
373
|
+
on: { TOGGLE_BOLD: { target: 'on' } }
|
|
372
374
|
}
|
|
373
375
|
}
|
|
374
376
|
},
|
|
@@ -376,10 +378,10 @@ const wordMachine = createMachine({
|
|
|
376
378
|
initial: 'off',
|
|
377
379
|
states: {
|
|
378
380
|
on: {
|
|
379
|
-
on: { TOGGLE_UNDERLINE: 'off' }
|
|
381
|
+
on: { TOGGLE_UNDERLINE: { target: 'off' } }
|
|
380
382
|
},
|
|
381
383
|
off: {
|
|
382
|
-
on: { TOGGLE_UNDERLINE: 'on' }
|
|
384
|
+
on: { TOGGLE_UNDERLINE: { target: 'on' } }
|
|
383
385
|
}
|
|
384
386
|
}
|
|
385
387
|
},
|
|
@@ -387,10 +389,10 @@ const wordMachine = createMachine({
|
|
|
387
389
|
initial: 'off',
|
|
388
390
|
states: {
|
|
389
391
|
on: {
|
|
390
|
-
on: { TOGGLE_ITALICS: 'off' }
|
|
392
|
+
on: { TOGGLE_ITALICS: { target: 'off' } }
|
|
391
393
|
},
|
|
392
394
|
off: {
|
|
393
|
-
on: { TOGGLE_ITALICS: 'on' }
|
|
395
|
+
on: { TOGGLE_ITALICS: { target: 'on' } }
|
|
394
396
|
}
|
|
395
397
|
}
|
|
396
398
|
},
|
|
@@ -399,20 +401,20 @@ const wordMachine = createMachine({
|
|
|
399
401
|
states: {
|
|
400
402
|
none: {
|
|
401
403
|
on: {
|
|
402
|
-
BULLETS: 'bullets',
|
|
403
|
-
NUMBERS: 'numbers'
|
|
404
|
+
BULLETS: { target: 'bullets' },
|
|
405
|
+
NUMBERS: { target: 'numbers' }
|
|
404
406
|
}
|
|
405
407
|
},
|
|
406
408
|
bullets: {
|
|
407
409
|
on: {
|
|
408
|
-
NONE: 'none',
|
|
409
|
-
NUMBERS: 'numbers'
|
|
410
|
+
NONE: { target: 'none' },
|
|
411
|
+
NUMBERS: { target: 'numbers' }
|
|
410
412
|
}
|
|
411
413
|
},
|
|
412
414
|
numbers: {
|
|
413
415
|
on: {
|
|
414
|
-
BULLETS: 'bullets',
|
|
415
|
-
NONE: 'none'
|
|
416
|
+
BULLETS: { target: 'bullets' },
|
|
417
|
+
NONE: { target: 'none' }
|
|
416
418
|
}
|
|
417
419
|
}
|
|
418
420
|
}
|
|
@@ -493,10 +495,10 @@ const paymentMachine = createMachine({
|
|
|
493
495
|
},
|
|
494
496
|
hist: { type: 'history' }
|
|
495
497
|
},
|
|
496
|
-
on: { NEXT: 'review' }
|
|
498
|
+
on: { NEXT: { target: 'review' } }
|
|
497
499
|
},
|
|
498
500
|
review: {
|
|
499
|
-
on: { PREVIOUS: 'method.hist' }
|
|
501
|
+
on: { PREVIOUS: { target: 'method.hist' } }
|
|
500
502
|
}
|
|
501
503
|
}
|
|
502
504
|
});
|
package/bin/xstate.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Lightweight `xstate` CLI. Heavy commands are delegated to dedicated
|
|
3
|
+
// packages fetched on demand so the core package stays dependency-free.
|
|
4
|
+
const { spawnSync } = require('child_process');
|
|
5
|
+
|
|
6
|
+
const [command, ...rest] = process.argv.slice(2);
|
|
7
|
+
|
|
8
|
+
switch (command) {
|
|
9
|
+
case 'migrate': {
|
|
10
|
+
// Delegates to @xstate/codemod (ts-morph based v5 → v6 codemods).
|
|
11
|
+
const result = spawnSync(
|
|
12
|
+
process.platform === 'win32' ? 'npx.cmd' : 'npx',
|
|
13
|
+
['-y', '@xstate/codemod', 'migrate', ...rest],
|
|
14
|
+
{ stdio: 'inherit' }
|
|
15
|
+
);
|
|
16
|
+
process.exit(result.status ?? 1);
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
case '--help':
|
|
20
|
+
case 'help':
|
|
21
|
+
case undefined:
|
|
22
|
+
console.log(
|
|
23
|
+
[
|
|
24
|
+
'Usage: xstate <command>',
|
|
25
|
+
'',
|
|
26
|
+
'Commands:',
|
|
27
|
+
' migrate [globs...] [--dry] Migrate source files to the current XState version',
|
|
28
|
+
' (delegates to @xstate/codemod)'
|
|
29
|
+
].join('\n')
|
|
30
|
+
);
|
|
31
|
+
process.exit(command ? 0 : 1);
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
console.error(`Unknown command: ${command}`);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|