xstate 6.0.0-alpha.2 → 6.0.0-alpha.21

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 (54) hide show
  1. package/README.md +19 -17
  2. package/bin/xstate.js +36 -0
  3. package/dist/{StateMachine-64813f46.cjs.js → StateMachine-1b155670.cjs.js} +182 -40
  4. package/dist/{StateMachine-2dcdb1f5.esm.js → StateMachine-3c17fe3e.esm.js} +182 -40
  5. package/dist/{StateMachine-8d22a79c.development.cjs.js → StateMachine-550ff7f2.development.cjs.js} +193 -36
  6. package/dist/{StateMachine-2ea0a7fa.development.esm.js → StateMachine-e25dd61f.development.esm.js} +193 -36
  7. package/dist/declarations/src/State.d.ts +13 -2
  8. package/dist/declarations/src/StateMachine.d.ts +23 -13
  9. package/dist/declarations/src/actions.d.ts +2 -1
  10. package/dist/declarations/src/actors/promise.d.ts +4 -2
  11. package/dist/declarations/src/createActor.d.ts +9 -11
  12. package/dist/declarations/src/createMachine.d.ts +14 -11
  13. package/dist/declarations/src/createMachineFromConfig.d.ts +61 -28
  14. package/dist/declarations/src/fsm.d.ts +74 -0
  15. package/dist/declarations/src/graph/graph.d.ts +3 -3
  16. package/dist/declarations/src/graph/shortestPaths.d.ts +2 -2
  17. package/dist/declarations/src/graph/simplePaths.d.ts +2 -2
  18. package/dist/declarations/src/index.d.ts +6 -5
  19. package/dist/declarations/src/serialize.d.ts +10 -18
  20. package/dist/declarations/src/setup.d.ts +277 -65
  21. package/dist/declarations/src/spawn.d.ts +3 -3
  22. package/dist/declarations/src/stateUtils.d.ts +4 -1
  23. package/dist/declarations/src/system.d.ts +1 -1
  24. package/dist/declarations/src/transition.d.ts +8 -5
  25. package/dist/declarations/src/transitionActions.d.ts +12 -0
  26. package/dist/declarations/src/types.d.ts +237 -102
  27. package/dist/declarations/src/types.v6.d.ts +132 -58
  28. package/dist/declarations/src/utils.d.ts +4 -3
  29. package/dist/{index-93edd3bd.esm.js → index-3f87408c.esm.js} +936 -1389
  30. package/dist/{index-e61170ba.development.esm.js → index-d39fb138.development.esm.js} +968 -1421
  31. package/dist/{index-9cb3b3a0.cjs.js → index-e694228c.cjs.js} +945 -1394
  32. package/dist/{index-f6ef20d1.development.cjs.js → index-ec7c7a2d.development.cjs.js} +977 -1426
  33. package/dist/xstate-actors.cjs.js +1 -1
  34. package/dist/xstate-actors.development.cjs.js +1 -1
  35. package/dist/xstate-actors.development.esm.js +1 -1
  36. package/dist/xstate-actors.esm.js +1 -1
  37. package/dist/xstate-actors.umd.min.js +1 -1
  38. package/dist/xstate-actors.umd.min.js.map +1 -1
  39. package/dist/xstate-graph.cjs.js +2 -2
  40. package/dist/xstate-graph.development.cjs.js +2 -2
  41. package/dist/xstate-graph.development.esm.js +2 -2
  42. package/dist/xstate-graph.esm.js +2 -2
  43. package/dist/xstate-graph.umd.min.js +1 -1
  44. package/dist/xstate-graph.umd.min.js.map +1 -1
  45. package/dist/xstate.cjs.js +1100 -182
  46. package/dist/xstate.cjs.mjs +3 -5
  47. package/dist/xstate.development.cjs.js +1100 -182
  48. package/dist/xstate.development.cjs.mjs +3 -5
  49. package/dist/xstate.development.esm.js +1101 -181
  50. package/dist/xstate.esm.js +1101 -181
  51. package/dist/xstate.umd.min.js +1 -1
  52. package/dist/xstate.umd.min.js.map +1 -1
  53. package/package.json +6 -2
  54. package/dist/declarations/src/atom.d.ts +0 -81
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "xstate",
3
- "version": "6.0.0-alpha.2",
3
+ "version": "6.0.0-alpha.21",
4
4
  "description": "Finite State Machines and Statecharts for the Modern Web.",
5
5
  "main": "dist/xstate.cjs.js",
6
+ "bin": {
7
+ "xstate": "./bin/xstate.js"
8
+ },
6
9
  "module": "dist/xstate.esm.js",
7
10
  "umd:main": "dist/xstate.umd.min.js",
8
11
  "exports": {
@@ -68,7 +71,8 @@
68
71
  "invoke",
69
72
  "guards",
70
73
  "dev",
71
- "graph"
74
+ "graph",
75
+ "bin"
72
76
  ],
73
77
  "keywords": [
74
78
  "statechart",
@@ -1,81 +0,0 @@
1
- type Observer<T> = {
2
- next?: (value: T) => void;
3
- error?: (err: unknown) => void;
4
- complete?: () => void;
5
- };
6
- interface Subscription {
7
- unsubscribe(): void;
8
- }
9
- interface Readable<T> extends Subscribable<T> {
10
- get: () => T;
11
- }
12
- interface Subscribable<T> {
13
- subscribe(observer: Observer<T>): Subscription;
14
- subscribe(next: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;
15
- }
16
- export interface BaseAtom<T> extends Subscribable<T>, Readable<T> {
17
- }
18
- export interface Atom<T> extends BaseAtom<T> {
19
- set: (valueOrFn: T | ((prev: T) => T)) => void;
20
- }
21
- export interface ReducerAtom<TState, TEvent> extends BaseAtom<TState> {
22
- send: (event: TEvent) => void;
23
- }
24
- export interface AtomOptions<T> {
25
- compare?: (a: T, b: T) => boolean;
26
- }
27
- export interface AtomConfig<TValue, TInput> {
28
- createAtom: undefined extends TInput ? (input?: TInput) => Atom<TValue> : (input: TInput) => Atom<TValue>;
29
- }
30
- export type AnyAtomConfig = AtomConfig<any, any>;
31
- export type ValueFromAtomConfig<TConfig extends AnyAtomConfig> = TConfig extends AtomConfig<infer TValue, any> ? TValue : never;
32
- export type InputFromAtomConfig<TConfig extends AnyAtomConfig> = TConfig extends AtomConfig<any, infer TInput> ? TInput : never;
33
- export type AnyAtom = BaseAtom<any>;
34
- export interface ReadonlyAtom<T> extends BaseAtom<T> {
35
- }
36
- /**
37
- * Returns `true` if the value is an atom (writable, computed, async, or
38
- * reducer). Lets actor-consuming APIs (e.g. `enq.subscribeTo`) accept atoms
39
- * directly.
40
- */
41
- export declare function isAtom(value: unknown): value is AnyAtom;
42
- /** The current state of an async atom. */
43
- export type AsyncAtomState<Data, Error = unknown> = {
44
- status: 'pending';
45
- } | {
46
- status: 'done';
47
- data: Data;
48
- } | {
49
- status: 'error';
50
- error: Error;
51
- };
52
- /** Options passed to an async atom getter. */
53
- export interface AsyncAtomOptions {
54
- /** Signal aborted when the async atom recomputes before this run settles. */
55
- signal: AbortSignal;
56
- }
57
- /**
58
- * Creates a read-only atom whose value is loaded from an async getter.
59
- *
60
- * The getter receives an `AbortSignal`; when the async atom recomputes, the
61
- * previous signal is aborted and stale resolutions are ignored.
62
- */
63
- export declare function createAsyncAtom<T>(getValue: (options: AsyncAtomOptions) => Promise<T>, options?: AtomOptions<AsyncAtomState<T>>): ReadonlyAtom<AsyncAtomState<T>>;
64
- /**
65
- * Creates an atom.
66
- *
67
- * Pass a value for a writable atom or a getter for a computed read-only atom.
68
- */
69
- export declare function createAtom<T>(getValue: (prev?: T) => T, options?: AtomOptions<T>): ReadonlyAtom<T>;
70
- export declare function createAtom<T>(initialValue: T, options?: AtomOptions<T>): Atom<T>;
71
- /**
72
- * Creates an inert atom config that can be instantiated later.
73
- *
74
- * Useful for framework hooks that need to create a stable local atom from
75
- * component input.
76
- */
77
- export declare function createAtomConfig<T, TInput>(getInitialValue: (input: TInput) => T, options?: AtomOptions<T>): AtomConfig<T, TInput>;
78
- export declare function createAtomConfig<T>(initialValue: T, options?: AtomOptions<T>): AtomConfig<T, undefined>;
79
- /** Creates an atom whose updates are handled by a reducer function. */
80
- export declare function createReducerAtom<TState, TEvent>(initialValue: TState, reducer: (state: TState, event: TEvent) => TState, options?: AtomOptions<TState>): ReducerAtom<TState, TEvent>;
81
- export {};