xstate 5.0.0-alpha.0 → 5.0.0-alpha.2

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 (97) hide show
  1. package/README.md +26 -15
  2. package/actions/dist/xstate-actions.cjs.dev.js +24 -25
  3. package/actions/dist/xstate-actions.cjs.prod.js +23 -24
  4. package/actions/dist/xstate-actions.esm.js +2 -2
  5. package/actions/dist/xstate-actions.umd.min.js +2 -0
  6. package/actions/dist/xstate-actions.umd.min.js.map +1 -0
  7. package/actions/dynamicAction.ts +15 -7
  8. package/actions/package.json +5 -1
  9. package/actors/dist/xstate-actors.cjs.d.ts +1 -1
  10. package/actors/dist/xstate-actors.cjs.dev.js +14 -14
  11. package/actors/dist/xstate-actors.cjs.prod.js +13 -13
  12. package/actors/dist/xstate-actors.esm.js +2 -2
  13. package/actors/dist/xstate-actors.umd.min.js +2 -0
  14. package/actors/dist/xstate-actors.umd.min.js.map +1 -0
  15. package/actors/package.json +5 -1
  16. package/dev/dist/xstate-dev.cjs.dev.js +1 -1
  17. package/dev/dist/xstate-dev.cjs.prod.js +0 -11
  18. package/dev/dist/xstate-dev.esm.js +1 -1
  19. package/dev/dist/xstate-dev.umd.min.js +2 -0
  20. package/dev/dist/xstate-dev.umd.min.js.map +1 -0
  21. package/dev/package.json +5 -1
  22. package/dist/{actions-6b86876d.cjs.dev.js → actions-1e9778c2.cjs.dev.js} +2819 -3334
  23. package/dist/actions-9778f6fb.esm.js +4246 -0
  24. package/dist/actions-acb29ffe.cjs.prod.js +4262 -0
  25. package/dist/declarations/actions/dynamicAction.d.ts +5 -3
  26. package/dist/declarations/src/Machine.d.ts +4 -4
  27. package/dist/declarations/src/Mailbox.d.ts +12 -12
  28. package/dist/declarations/src/SimulatedClock.d.ts +16 -16
  29. package/dist/declarations/src/State.d.ts +97 -104
  30. package/dist/declarations/src/StateMachine.d.ts +110 -112
  31. package/dist/declarations/src/StateNode.d.ts +127 -127
  32. package/dist/declarations/src/actionTypes.d.ts +16 -17
  33. package/dist/declarations/src/actions/assign.d.ts +7 -7
  34. package/dist/declarations/src/actions/cancel.d.ts +10 -10
  35. package/dist/declarations/src/actions/choose.d.ts +3 -3
  36. package/dist/declarations/src/actions/invoke.d.ts +3 -3
  37. package/dist/declarations/src/actions/log.d.ts +11 -11
  38. package/dist/declarations/src/actions/pure.d.ts +3 -3
  39. package/dist/declarations/src/actions/raise.d.ts +8 -9
  40. package/dist/declarations/src/actions/send.d.ts +53 -55
  41. package/dist/declarations/src/actions/stop.d.ts +7 -8
  42. package/dist/declarations/src/actions.d.ts +47 -44
  43. package/dist/declarations/src/actors/callback.d.ts +8 -0
  44. package/dist/declarations/src/actors/index.d.ts +27 -0
  45. package/dist/declarations/src/actors/observable.d.ts +23 -0
  46. package/dist/declarations/src/actors/promise.d.ts +12 -0
  47. package/dist/declarations/src/actors/transition.d.ts +13 -0
  48. package/dist/declarations/src/constants.d.ts +5 -5
  49. package/dist/declarations/src/dev/index.d.ts +14 -14
  50. package/dist/declarations/src/environment.d.ts +1 -1
  51. package/dist/declarations/src/guards.d.ts +8 -9
  52. package/dist/declarations/src/index.d.ts +44 -47
  53. package/dist/declarations/src/interpreter.d.ts +104 -147
  54. package/dist/declarations/src/mapState.d.ts +3 -3
  55. package/dist/declarations/src/memo.d.ts +2 -1
  56. package/dist/declarations/src/schema.d.ts +2 -2
  57. package/dist/declarations/src/spawn.d.ts +2 -2
  58. package/dist/declarations/src/stateUtils.d.ts +70 -85
  59. package/dist/declarations/src/symbolObservable.d.ts +1 -0
  60. package/dist/declarations/src/system.d.ts +2 -0
  61. package/dist/declarations/src/typegenTypes.d.ts +132 -132
  62. package/dist/declarations/src/types.d.ts +1008 -1026
  63. package/dist/declarations/src/utils.d.ts +58 -56
  64. package/dist/{index-20b364c4.esm.js → index-50bd0aff.esm.js} +0 -12
  65. package/dist/{index-2a564d03.cjs.dev.js → index-ebaab3c9.cjs.dev.js} +0 -12
  66. package/dist/xstate.cjs.dev.js +798 -100
  67. package/dist/xstate.cjs.prod.js +797 -99
  68. package/dist/xstate.esm.js +756 -55
  69. package/dist/xstate.umd.min.js +2 -0
  70. package/dist/xstate.umd.min.js.map +1 -0
  71. package/guards/dist/xstate-guards.cjs.dev.js +8 -8
  72. package/guards/dist/xstate-guards.cjs.prod.js +7 -7
  73. package/guards/dist/xstate-guards.esm.js +2 -2
  74. package/guards/dist/xstate-guards.umd.min.js +2 -0
  75. package/guards/dist/xstate-guards.umd.min.js.map +1 -0
  76. package/guards/package.json +5 -1
  77. package/package.json +28 -6
  78. package/CHANGELOG.md +0 -1986
  79. package/actions/ExecutableAction.ts +0 -58
  80. package/dist/Machine-9ce74c11.cjs.dev.js +0 -755
  81. package/dist/Machine-dca041dc.cjs.prod.js +0 -749
  82. package/dist/Machine-fb2f47f5.esm.js +0 -751
  83. package/dist/actions-70094c93.cjs.prod.js +0 -4765
  84. package/dist/actions-ff512f16.esm.js +0 -4757
  85. package/dist/declarations/actions/ExecutableAction.d.ts +0 -23
  86. package/dist/declarations/src/ObservableActorRef.d.ts +0 -25
  87. package/dist/declarations/src/actors.d.ts +0 -38
  88. package/dist/declarations/src/match.d.ts +0 -5
  89. package/dist/declarations/src/model.d.ts +0 -5
  90. package/dist/declarations/src/model.types.d.ts +0 -53
  91. package/dist/declarations/src/registry.d.ts +0 -8
  92. package/model/dist/xstate-model.cjs.d.ts +0 -1
  93. package/model/dist/xstate-model.cjs.dev.js +0 -41
  94. package/model/dist/xstate-model.cjs.js +0 -7
  95. package/model/dist/xstate-model.cjs.prod.js +0 -41
  96. package/model/dist/xstate-model.esm.js +0 -37
  97. package/model/package.json +0 -4
@@ -1,56 +1,58 @@
1
- import { NULL_EVENT } from './constants';
2
- import type { StateNode } from './StateNode';
3
- import type { Behavior, BehaviorCreator, Event, EventObject, EventType, InvokeConfig, InvokeSourceDefinition, MachineContext, Mapper, Observer, PropertyMapper, SCXML, SCXMLErrorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfig, TransitionConfigTarget } from './types';
4
- import { AnyStateMachine } from './types';
5
- export declare function keys<T extends object>(value: T): Array<keyof T & string>;
6
- export declare function matchesState(parentStateId: StateValue, childStateId: StateValue, delimiter?: string): boolean;
7
- export declare function getEventType<TEvent extends EventObject = EventObject>(event: Event<TEvent>): TEvent['type'];
8
- export declare function toStatePath(stateId: string | string[], delimiter: string): string[];
9
- export declare function isStateLike(state: any): state is StateLike<any>;
10
- export declare function toStateValue(stateValue: StateLike<any> | StateValue | string[], delimiter: string): StateValue;
11
- export declare function pathToStateValue(statePath: string[]): StateValue;
12
- export declare function mapValues<P, O extends Record<string, unknown>>(collection: O, iteratee: (item: O[keyof O], key: keyof O, collection: O, i: number) => P): {
13
- [key in keyof O]: P;
14
- };
15
- export declare function mapFilterValues<T, P>(collection: {
16
- [key: string]: T;
17
- }, iteratee: (item: T, key: string, collection: {
18
- [key: string]: T;
19
- }) => P, predicate: (item: T) => boolean): {
20
- [key: string]: P;
21
- };
22
- /**
23
- * Retrieves a value at the given path.
24
- * @param props The deep path to the prop of the desired value
25
- */
26
- export declare function path<T extends Record<string, any>>(props: string[]): any;
27
- export declare function toStatePaths(stateValue: StateValue | undefined): string[][];
28
- export declare function flatten<T>(array: Array<T | T[]>): T[];
29
- export declare function toArrayStrict<T>(value: T[] | T): T[];
30
- export declare function toArray<T>(value: T[] | T | undefined): T[];
31
- export declare function mapContext<TContext extends MachineContext, TEvent extends EventObject>(mapper: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>, context: TContext, _event: SCXML.Event<TEvent>): any;
32
- export declare function isBuiltInEvent(eventType: EventType): boolean;
33
- export declare function isPromiseLike(value: any): value is PromiseLike<any>;
34
- export declare function isBehavior(value: any): value is Behavior<any, any>;
35
- export declare function partition<T, A extends T, B extends T>(items: T[], predicate: (item: T) => item is A): [A[], B[]];
36
- export declare let warn: (condition: boolean | Error, message: string) => void;
37
- export declare function isArray(value: any): value is any[];
38
- export declare function isFunction(value: any): value is Function;
39
- export declare function isString(value: any): value is string;
40
- export declare function isObservable<T>(value: any): value is Subscribable<T>;
41
- export declare const symbolObservable: typeof Symbol.observable;
42
- export declare function isStateMachine(value: any): value is AnyStateMachine;
43
- export declare const uniqueId: () => string;
44
- export declare function toEventObject<TEvent extends EventObject>(event: Event<TEvent>, payload?: Record<string, any>): TEvent;
45
- export declare function isSCXMLEvent<TEvent extends EventObject>(event: Event<TEvent> | SCXML.Event<TEvent>): event is SCXML.Event<TEvent>;
46
- export declare function isSCXMLErrorEvent(event: SCXML.Event<any>): event is SCXMLErrorEvent;
47
- export declare function toSCXMLEvent<TEvent extends EventObject>(event: Event<TEvent> | SCXML.Event<TEvent>, scxmlEvent?: Partial<SCXML.Event<TEvent>>): SCXML.Event<TEvent>;
48
- export declare function toTransitionConfigArray<TContext extends MachineContext, TEvent extends EventObject>(event: TEvent['type'] | typeof NULL_EVENT | '*', configLike: SingleOrArray<TransitionConfig<TContext, TEvent> | TransitionConfigTarget<TContext, TEvent>>): Array<TransitionConfig<TContext, TEvent> & {
49
- event: TEvent['type'] | typeof NULL_EVENT | '*';
50
- }>;
51
- export declare function normalizeTarget<TContext extends MachineContext, TEvent extends EventObject>(target: SingleOrArray<string | StateNode<TContext, TEvent>> | undefined): Array<string | StateNode<TContext, TEvent>> | undefined;
52
- export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
53
- export declare function toInvokeConfig<TContext extends MachineContext, TEvent extends EventObject>(invocable: InvokeConfig<TContext, TEvent> | string | BehaviorCreator<TContext, TEvent> | Behavior<any, any>, id: string): InvokeConfig<TContext, TEvent>;
54
- export declare function toInvokeSource(src: string | InvokeSourceDefinition): InvokeSourceDefinition;
55
- export declare function toObserver<T>(nextHandler: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
56
- export declare function createInvokeId(stateNodeId: string, index: number): string;
1
+ import { AnyActorBehavior, AnyState } from '.';
2
+ import { NULL_EVENT } from './constants.js';
3
+ import type { StateNode } from './StateNode.js';
4
+ import type { ActorBehavior, EventObject, EventType, InvokeConfig, MachineContext, Mapper, Observer, PropertyMapper, SCXML, SCXMLErrorEvent, SingleOrArray, StateLike, StateValue, Subscribable, TransitionConfig, TransitionConfigTarget } from './types.js';
5
+ export declare function keys<T extends object>(value: T): Array<keyof T & string>;
6
+ export declare function matchesState(parentStateId: StateValue, childStateId: StateValue, delimiter?: string): boolean;
7
+ export declare function toStatePath(stateId: string | string[], delimiter: string): string[];
8
+ export declare function isStateLike(state: any): state is AnyState;
9
+ export declare function toStateValue(stateValue: StateLike<any> | StateValue | string[], delimiter: string): StateValue;
10
+ export declare function pathToStateValue(statePath: string[]): StateValue;
11
+ export declare function mapValues<P, O extends Record<string, unknown>>(collection: O, iteratee: (item: O[keyof O], key: keyof O, collection: O, i: number) => P): {
12
+ [key in keyof O]: P;
13
+ };
14
+ export declare function mapFilterValues<T, P>(collection: {
15
+ [key: string]: T;
16
+ }, iteratee: (item: T, key: string, collection: {
17
+ [key: string]: T;
18
+ }) => P, predicate: (item: T) => boolean): {
19
+ [key: string]: P;
20
+ };
21
+ /**
22
+ * Retrieves a value at the given path.
23
+ * @param props The deep path to the prop of the desired value
24
+ */
25
+ export declare function path<T extends Record<string, any>>(props: string[]): any;
26
+ export declare function toStatePaths(stateValue: StateValue | undefined): string[][];
27
+ export declare function flatten<T>(array: Array<T | T[]>): T[];
28
+ export declare function toArrayStrict<T>(value: T[] | T): T[];
29
+ export declare function toArray<T>(value: T[] | T | undefined): T[];
30
+ export declare function mapContext<TContext extends MachineContext, TEvent extends EventObject>(mapper: Mapper<TContext, TEvent, any> | PropertyMapper<TContext, TEvent, any>, context: TContext, _event: SCXML.Event<TEvent>): any;
31
+ export declare function isBuiltInEvent(eventType: EventType): boolean;
32
+ export declare function isPromiseLike(value: any): value is PromiseLike<any>;
33
+ export declare function isBehavior(value: any): value is ActorBehavior<any, any>;
34
+ export declare function partition<T, A extends T, B extends T>(items: T[], predicate: (item: T) => item is A): [A[], B[]];
35
+ export declare let warn: (condition: boolean | Error, message: string) => void;
36
+ export declare function isArray(value: any): value is any[];
37
+ export declare function isFunction(value: any): value is Function;
38
+ export declare function isString(value: any): value is string;
39
+ export declare function isObservable<T>(value: any): value is Subscribable<T>;
40
+ export declare const uniqueId: () => string;
41
+ export declare function isSCXMLEvent<TEvent extends EventObject>(event: TEvent | SCXML.Event<TEvent>): event is SCXML.Event<TEvent>;
42
+ export declare function isSCXMLErrorEvent(event: SCXML.Event<any>): event is SCXMLErrorEvent;
43
+ export declare function toSCXMLEvent<TEvent extends EventObject>(event: TEvent | SCXML.Event<TEvent>, scxmlEvent?: Partial<SCXML.Event<TEvent>>): SCXML.Event<TEvent>;
44
+ export declare function toTransitionConfigArray<TContext extends MachineContext, TEvent extends EventObject>(event: TEvent['type'] | typeof NULL_EVENT | '*', configLike: SingleOrArray<TransitionConfig<TContext, TEvent> | TransitionConfigTarget>): Array<TransitionConfig<TContext, TEvent> & {
45
+ event: TEvent['type'] | typeof NULL_EVENT | '*';
46
+ }>;
47
+ export declare function normalizeTarget<TContext extends MachineContext, TEvent extends EventObject>(target: SingleOrArray<string | StateNode<TContext, TEvent>> | undefined): Array<string | StateNode<TContext, TEvent>> | undefined;
48
+ export declare function reportUnhandledExceptionOnInvocation(originalError: any, currentError: any, id: string): void;
49
+ export declare function toInvokeConfig<TContext extends MachineContext, TEvent extends EventObject>(invocable: InvokeConfig<TContext, TEvent> | string | ActorBehavior<any, any>, id: string): InvokeConfig<TContext, TEvent>;
50
+ export declare function toObserver<T>(nextHandler?: Observer<T> | ((value: T) => void), errorHandler?: (error: any) => void, completionHandler?: () => void): Observer<T>;
51
+ export declare function createInvokeId(stateNodeId: string, index: number): string;
52
+ export declare function resolveReferencedActor(referenced: AnyActorBehavior | {
53
+ src: AnyActorBehavior;
54
+ input: Mapper<any, any, any> | any;
55
+ } | undefined): {
56
+ src: AnyActorBehavior;
57
+ input: Mapper<any, any, any> | any;
58
+ } | undefined;
@@ -5,41 +5,31 @@ function getGlobal() {
5
5
  if (typeof globalThis !== 'undefined') {
6
6
  return globalThis;
7
7
  }
8
-
9
8
  if (typeof self !== 'undefined') {
10
9
  return self;
11
10
  }
12
-
13
11
  if (typeof window !== 'undefined') {
14
12
  return window;
15
13
  }
16
-
17
14
  if (typeof global !== 'undefined') {
18
15
  return global;
19
16
  }
20
-
21
17
  if (!IS_PRODUCTION) {
22
18
  console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');
23
19
  }
24
20
  }
25
-
26
21
  function getDevTools() {
27
22
  var w = getGlobal();
28
-
29
23
  if (!!w.__xstate__) {
30
24
  return w.__xstate__;
31
25
  }
32
-
33
26
  return undefined;
34
27
  }
35
-
36
28
  function registerService(service) {
37
29
  if (typeof window === 'undefined') {
38
30
  return;
39
31
  }
40
-
41
32
  var devTools = getDevTools();
42
-
43
33
  if (devTools) {
44
34
  devTools.register(service);
45
35
  }
@@ -48,9 +38,7 @@ var devToolsAdapter = function devToolsAdapter(service) {
48
38
  if (typeof window === 'undefined') {
49
39
  return;
50
40
  }
51
-
52
41
  var devTools = getDevTools();
53
-
54
42
  if (devTools) {
55
43
  devTools.register(service);
56
44
  }
@@ -7,41 +7,31 @@ function getGlobal() {
7
7
  if (typeof globalThis !== 'undefined') {
8
8
  return globalThis;
9
9
  }
10
-
11
10
  if (typeof self !== 'undefined') {
12
11
  return self;
13
12
  }
14
-
15
13
  if (typeof window !== 'undefined') {
16
14
  return window;
17
15
  }
18
-
19
16
  if (typeof global !== 'undefined') {
20
17
  return global;
21
18
  }
22
-
23
19
  if (!IS_PRODUCTION) {
24
20
  console.warn('XState could not find a global object in this environment. Please let the maintainers know and raise an issue here: https://github.com/statelyai/xstate/issues');
25
21
  }
26
22
  }
27
-
28
23
  function getDevTools() {
29
24
  var w = getGlobal();
30
-
31
25
  if (!!w.__xstate__) {
32
26
  return w.__xstate__;
33
27
  }
34
-
35
28
  return undefined;
36
29
  }
37
-
38
30
  function registerService(service) {
39
31
  if (typeof window === 'undefined') {
40
32
  return;
41
33
  }
42
-
43
34
  var devTools = getDevTools();
44
-
45
35
  if (devTools) {
46
36
  devTools.register(service);
47
37
  }
@@ -50,9 +40,7 @@ var devToolsAdapter = function devToolsAdapter(service) {
50
40
  if (typeof window === 'undefined') {
51
41
  return;
52
42
  }
53
-
54
43
  var devTools = getDevTools();
55
-
56
44
  if (devTools) {
57
45
  devTools.register(service);
58
46
  }