@xstate/react 4.0.0-beta.3 → 4.0.0-beta.5

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 (38) hide show
  1. package/dist/declarations/src/createActorContext.d.ts +6 -6
  2. package/dist/declarations/src/index.d.ts +6 -7
  3. package/dist/declarations/src/useActor.d.ts +6 -3
  4. package/dist/declarations/src/useActorRef.d.ts +14 -0
  5. package/dist/declarations/src/useMachine.d.ts +9 -9
  6. package/dist/useConstant-2ee82f84.cjs.js +35 -0
  7. package/dist/useConstant-ae6dceac.development.cjs.js +35 -0
  8. package/dist/{useConstant-c09b427a.cjs.prod.js → useConstant-bac83df4.development.esm.js} +3 -5
  9. package/dist/useConstant-c7ec0fdd.esm.js +13 -0
  10. package/dist/xstate-react.cjs.d.mts +2 -0
  11. package/dist/xstate-react.cjs.d.mts.map +1 -0
  12. package/dist/xstate-react.cjs.d.ts +1 -0
  13. package/dist/xstate-react.cjs.d.ts.map +1 -0
  14. package/dist/xstate-react.cjs.js +178 -4
  15. package/dist/xstate-react.cjs.mjs +8 -0
  16. package/dist/xstate-react.development.cjs.js +190 -0
  17. package/dist/xstate-react.development.esm.js +159 -0
  18. package/dist/xstate-react.esm.js +74 -245
  19. package/fsm/dist/xstate-react-fsm.cjs.d.mts +2 -0
  20. package/fsm/dist/xstate-react-fsm.cjs.d.mts.map +1 -0
  21. package/fsm/dist/xstate-react-fsm.cjs.d.ts +1 -0
  22. package/fsm/dist/xstate-react-fsm.cjs.d.ts.map +1 -0
  23. package/fsm/dist/xstate-react-fsm.cjs.js +65 -4
  24. package/fsm/dist/xstate-react-fsm.cjs.mjs +4 -0
  25. package/fsm/dist/xstate-react-fsm.development.cjs.js +74 -0
  26. package/fsm/dist/xstate-react-fsm.development.esm.js +65 -0
  27. package/fsm/dist/xstate-react-fsm.esm.js +30 -42
  28. package/package.json +30 -4
  29. package/dist/declarations/src/types.d.ts +0 -15
  30. package/dist/declarations/src/useConstant.d.ts +0 -1
  31. package/dist/declarations/src/useInterpret.d.ts +0 -12
  32. package/dist/declarations/src/useSpawn.d.ts +0 -9
  33. package/dist/useConstant-0013a606.esm.js +0 -68
  34. package/dist/useConstant-ff65b597.cjs.dev.js +0 -71
  35. package/dist/xstate-react.cjs.dev.js +0 -335
  36. package/dist/xstate-react.cjs.prod.js +0 -327
  37. package/fsm/dist/xstate-react-fsm.cjs.dev.js +0 -80
  38. package/fsm/dist/xstate-react-fsm.cjs.prod.js +0 -127
@@ -1,80 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var useConstant = require('../../dist/useConstant-ff65b597.cjs.dev.js');
6
- var fsm = require('@xstate/fsm');
7
- var React = require('react');
8
- var useIsomorphicLayoutEffect = require('use-isomorphic-layout-effect');
9
- var withSelector = require('use-sync-external-store/shim/with-selector');
10
-
11
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
12
-
13
- var useIsomorphicLayoutEffect__default = /*#__PURE__*/_interopDefault(useIsomorphicLayoutEffect);
14
-
15
- function identity(a) {
16
- return a;
17
- }
18
- function useMachine(stateMachine, options) {
19
- var persistedStateRef = React.useRef();
20
- if (process.env.NODE_ENV !== 'production') {
21
- var _useState = React.useState(stateMachine),
22
- _useState2 = useConstant._slicedToArray(_useState, 1),
23
- initialMachine = _useState2[0];
24
- if (stateMachine !== initialMachine) {
25
- console.warn('Machine given to `useMachine` has changed between renders. This is not supported and might lead to unexpected results.\n' + 'Please make sure that you pass the same Machine as argument each time.');
26
- }
27
- }
28
- var _useConstant = useConstant.useConstant(function () {
29
- var queue = [];
30
- var service = fsm.interpret(fsm.createMachine(stateMachine.config, options ? options : stateMachine._options));
31
- var send = service.send;
32
- service.send = function (event) {
33
- if (service.status === fsm.InterpreterStatus.NotStarted) {
34
- queue.push(event);
35
- return;
36
- }
37
- send(event);
38
- persistedStateRef.current = service.state;
39
- };
40
- return [service, queue];
41
- }),
42
- _useConstant2 = useConstant._slicedToArray(_useConstant, 2),
43
- service = _useConstant2[0],
44
- queue = _useConstant2[1];
45
-
46
- // TODO: consider using `useInsertionEffect` if available
47
- useIsomorphicLayoutEffect__default['default'](function () {
48
- if (options) {
49
- service._machine._options = options;
50
- }
51
- });
52
- var useServiceResult = useService(service);
53
- React.useEffect(function () {
54
- service.start(persistedStateRef.current);
55
- queue.forEach(service.send);
56
- persistedStateRef.current = service.state;
57
- return function () {
58
- service.stop();
59
- };
60
- }, []);
61
- return useServiceResult;
62
- }
63
- var isEqual = function isEqual(_prevState, nextState) {
64
- return nextState.changed === false;
65
- };
66
- function useService(service) {
67
- var getSnapshot = React.useCallback(function () {
68
- return service.state;
69
- }, [service]);
70
- var subscribe = React.useCallback(function (handleStoreChange) {
71
- var _service$subscribe = service.subscribe(handleStoreChange),
72
- unsubscribe = _service$subscribe.unsubscribe;
73
- return unsubscribe;
74
- }, [service]);
75
- var storeSnapshot = withSelector.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, identity, isEqual);
76
- return [storeSnapshot, service.send, service];
77
- }
78
-
79
- exports.useMachine = useMachine;
80
- exports.useService = useService;
@@ -1,127 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var fsm = require('@xstate/fsm');
6
- var React = require('react');
7
- var useIsomorphicLayoutEffect = require('use-isomorphic-layout-effect');
8
- var withSelector = require('use-sync-external-store/shim/with-selector');
9
- var useConstant = require('../../dist/useConstant-c09b427a.cjs.prod.js');
10
-
11
- function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
12
-
13
- var useIsomorphicLayoutEffect__default = /*#__PURE__*/_interopDefault(useIsomorphicLayoutEffect);
14
-
15
- function _arrayWithHoles(arr) {
16
- if (Array.isArray(arr)) return arr;
17
- }
18
-
19
- function _iterableToArrayLimit(arr, i) {
20
- var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
21
- if (null != _i) {
22
- var _s,
23
- _e,
24
- _x,
25
- _r,
26
- _arr = [],
27
- _n = !0,
28
- _d = !1;
29
- try {
30
- if (_x = (_i = _i.call(arr)).next, 0 === i) {
31
- if (Object(_i) !== _i) return;
32
- _n = !1;
33
- } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
34
- } catch (err) {
35
- _d = !0, _e = err;
36
- } finally {
37
- try {
38
- if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
39
- } finally {
40
- if (_d) throw _e;
41
- }
42
- }
43
- return _arr;
44
- }
45
- }
46
-
47
- function _arrayLikeToArray(arr, len) {
48
- if (len == null || len > arr.length) len = arr.length;
49
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
50
- return arr2;
51
- }
52
-
53
- function _unsupportedIterableToArray(o, minLen) {
54
- if (!o) return;
55
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
56
- var n = Object.prototype.toString.call(o).slice(8, -1);
57
- if (n === "Object" && o.constructor) n = o.constructor.name;
58
- if (n === "Map" || n === "Set") return Array.from(o);
59
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
60
- }
61
-
62
- function _nonIterableRest() {
63
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
64
- }
65
-
66
- function _slicedToArray(arr, i) {
67
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
68
- }
69
-
70
- function identity(a) {
71
- return a;
72
- }
73
- function useMachine(stateMachine, options) {
74
- var persistedStateRef = React.useRef();
75
- var _useConstant = useConstant.useConstant(function () {
76
- var queue = [];
77
- var service = fsm.interpret(fsm.createMachine(stateMachine.config, options ? options : stateMachine._options));
78
- var send = service.send;
79
- service.send = function (event) {
80
- if (service.status === fsm.InterpreterStatus.NotStarted) {
81
- queue.push(event);
82
- return;
83
- }
84
- send(event);
85
- persistedStateRef.current = service.state;
86
- };
87
- return [service, queue];
88
- }),
89
- _useConstant2 = _slicedToArray(_useConstant, 2),
90
- service = _useConstant2[0],
91
- queue = _useConstant2[1];
92
-
93
- // TODO: consider using `useInsertionEffect` if available
94
- useIsomorphicLayoutEffect__default['default'](function () {
95
- if (options) {
96
- service._machine._options = options;
97
- }
98
- });
99
- var useServiceResult = useService(service);
100
- React.useEffect(function () {
101
- service.start(persistedStateRef.current);
102
- queue.forEach(service.send);
103
- persistedStateRef.current = service.state;
104
- return function () {
105
- service.stop();
106
- };
107
- }, []);
108
- return useServiceResult;
109
- }
110
- var isEqual = function isEqual(_prevState, nextState) {
111
- return nextState.changed === false;
112
- };
113
- function useService(service) {
114
- var getSnapshot = React.useCallback(function () {
115
- return service.state;
116
- }, [service]);
117
- var subscribe = React.useCallback(function (handleStoreChange) {
118
- var _service$subscribe = service.subscribe(handleStoreChange),
119
- unsubscribe = _service$subscribe.unsubscribe;
120
- return unsubscribe;
121
- }, [service]);
122
- var storeSnapshot = withSelector.useSyncExternalStoreWithSelector(subscribe, getSnapshot, getSnapshot, identity, isEqual);
123
- return [storeSnapshot, service.send, service];
124
- }
125
-
126
- exports.useMachine = useMachine;
127
- exports.useService = useService;