@xstate/react 4.0.0-alpha.2 → 4.0.0-beta.4
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/dist/declarations/src/createActorContext.d.ts +6 -6
- package/dist/declarations/src/index.d.ts +2 -3
- package/dist/declarations/src/useActor.d.ts +6 -3
- package/dist/declarations/src/useActorRef.d.ts +14 -0
- package/dist/declarations/src/useMachine.d.ts +9 -9
- package/dist/{useConstant-ff65b597.cjs.dev.js → useConstant-23e96eea.cjs.dev.js} +21 -1
- package/dist/useConstant-720f1662.cjs.prod.js +35 -0
- package/dist/{useConstant-0013a606.esm.js → useConstant-9bbaf12a.esm.js} +2 -2
- package/dist/xstate-react.cjs.d.mts +2 -0
- package/dist/xstate-react.cjs.d.mts.map +1 -0
- package/dist/xstate-react.cjs.d.ts +1 -0
- package/dist/xstate-react.cjs.d.ts.map +1 -0
- package/dist/xstate-react.cjs.dev.js +66 -188
- package/dist/xstate-react.cjs.mjs +8 -0
- package/dist/xstate-react.cjs.prod.js +59 -186
- package/dist/xstate-react.esm.js +53 -192
- package/fsm/dist/xstate-react-fsm.cjs.d.mts +2 -0
- package/fsm/dist/xstate-react-fsm.cjs.d.mts.map +1 -0
- package/fsm/dist/xstate-react-fsm.cjs.d.ts +1 -0
- package/fsm/dist/xstate-react-fsm.cjs.d.ts.map +1 -0
- package/fsm/dist/xstate-react-fsm.cjs.dev.js +3 -10
- package/fsm/dist/xstate-react-fsm.cjs.mjs +4 -0
- package/fsm/dist/xstate-react-fsm.cjs.prod.js +3 -10
- package/fsm/dist/xstate-react-fsm.esm.js +2 -9
- package/package.json +8 -6
- package/dist/declarations/src/types.d.ts +0 -15
- package/dist/declarations/src/useInterpret.d.ts +0 -12
- package/dist/declarations/src/useSpawn.d.ts +0 -9
- package/dist/useConstant-c09b427a.cjs.prod.js +0 -15
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var useConstant = require('../../dist/useConstant-
|
|
5
|
+
var useConstant = require('../../dist/useConstant-23e96eea.cjs.dev.js');
|
|
6
6
|
var fsm = require('@xstate/fsm');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var useIsomorphicLayoutEffect = require('use-isomorphic-layout-effect');
|
|
@@ -15,13 +15,6 @@ var useIsomorphicLayoutEffect__default = /*#__PURE__*/_interopDefault(useIsomorp
|
|
|
15
15
|
function identity(a) {
|
|
16
16
|
return a;
|
|
17
17
|
}
|
|
18
|
-
var getServiceState = function getServiceState(service) {
|
|
19
|
-
var currentValue;
|
|
20
|
-
service.subscribe(function (state) {
|
|
21
|
-
currentValue = state;
|
|
22
|
-
}).unsubscribe();
|
|
23
|
-
return currentValue;
|
|
24
|
-
};
|
|
25
18
|
function useMachine(stateMachine, options) {
|
|
26
19
|
var persistedStateRef = React.useRef();
|
|
27
20
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -51,7 +44,7 @@ function useMachine(stateMachine, options) {
|
|
|
51
44
|
queue = _useConstant2[1];
|
|
52
45
|
|
|
53
46
|
// TODO: consider using `useInsertionEffect` if available
|
|
54
|
-
useIsomorphicLayoutEffect__default[
|
|
47
|
+
useIsomorphicLayoutEffect__default["default"](function () {
|
|
55
48
|
if (options) {
|
|
56
49
|
service._machine._options = options;
|
|
57
50
|
}
|
|
@@ -72,7 +65,7 @@ var isEqual = function isEqual(_prevState, nextState) {
|
|
|
72
65
|
};
|
|
73
66
|
function useService(service) {
|
|
74
67
|
var getSnapshot = React.useCallback(function () {
|
|
75
|
-
return
|
|
68
|
+
return service.state;
|
|
76
69
|
}, [service]);
|
|
77
70
|
var subscribe = React.useCallback(function (handleStoreChange) {
|
|
78
71
|
var _service$subscribe = service.subscribe(handleStoreChange),
|
|
@@ -6,7 +6,7 @@ var fsm = require('@xstate/fsm');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var useIsomorphicLayoutEffect = require('use-isomorphic-layout-effect');
|
|
8
8
|
var withSelector = require('use-sync-external-store/shim/with-selector');
|
|
9
|
-
var useConstant = require('../../dist/useConstant-
|
|
9
|
+
var useConstant = require('../../dist/useConstant-720f1662.cjs.prod.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -70,13 +70,6 @@ function _slicedToArray(arr, i) {
|
|
|
70
70
|
function identity(a) {
|
|
71
71
|
return a;
|
|
72
72
|
}
|
|
73
|
-
var getServiceState = function getServiceState(service) {
|
|
74
|
-
var currentValue;
|
|
75
|
-
service.subscribe(function (state) {
|
|
76
|
-
currentValue = state;
|
|
77
|
-
}).unsubscribe();
|
|
78
|
-
return currentValue;
|
|
79
|
-
};
|
|
80
73
|
function useMachine(stateMachine, options) {
|
|
81
74
|
var persistedStateRef = React.useRef();
|
|
82
75
|
var _useConstant = useConstant.useConstant(function () {
|
|
@@ -98,7 +91,7 @@ function useMachine(stateMachine, options) {
|
|
|
98
91
|
queue = _useConstant2[1];
|
|
99
92
|
|
|
100
93
|
// TODO: consider using `useInsertionEffect` if available
|
|
101
|
-
useIsomorphicLayoutEffect__default[
|
|
94
|
+
useIsomorphicLayoutEffect__default["default"](function () {
|
|
102
95
|
if (options) {
|
|
103
96
|
service._machine._options = options;
|
|
104
97
|
}
|
|
@@ -119,7 +112,7 @@ var isEqual = function isEqual(_prevState, nextState) {
|
|
|
119
112
|
};
|
|
120
113
|
function useService(service) {
|
|
121
114
|
var getSnapshot = React.useCallback(function () {
|
|
122
|
-
return
|
|
115
|
+
return service.state;
|
|
123
116
|
}, [service]);
|
|
124
117
|
var subscribe = React.useCallback(function (handleStoreChange) {
|
|
125
118
|
var _service$subscribe = service.subscribe(handleStoreChange),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as _slicedToArray, u as useConstant } from '../../dist/useConstant-
|
|
1
|
+
import { _ as _slicedToArray, u as useConstant } from '../../dist/useConstant-9bbaf12a.esm.js';
|
|
2
2
|
import { interpret, createMachine, InterpreterStatus } from '@xstate/fsm';
|
|
3
3
|
import { useRef, useState, useEffect, useCallback } from 'react';
|
|
4
4
|
import useIsomorphicLayoutEffect from 'use-isomorphic-layout-effect';
|
|
@@ -7,13 +7,6 @@ import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/shim/w
|
|
|
7
7
|
function identity(a) {
|
|
8
8
|
return a;
|
|
9
9
|
}
|
|
10
|
-
var getServiceState = function getServiceState(service) {
|
|
11
|
-
var currentValue;
|
|
12
|
-
service.subscribe(function (state) {
|
|
13
|
-
currentValue = state;
|
|
14
|
-
}).unsubscribe();
|
|
15
|
-
return currentValue;
|
|
16
|
-
};
|
|
17
10
|
function useMachine(stateMachine, options) {
|
|
18
11
|
var persistedStateRef = useRef();
|
|
19
12
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -64,7 +57,7 @@ var isEqual = function isEqual(_prevState, nextState) {
|
|
|
64
57
|
};
|
|
65
58
|
function useService(service) {
|
|
66
59
|
var getSnapshot = useCallback(function () {
|
|
67
|
-
return
|
|
60
|
+
return service.state;
|
|
68
61
|
}, [service]);
|
|
69
62
|
var subscribe = useCallback(function (handleStoreChange) {
|
|
70
63
|
var _service$subscribe = service.subscribe(handleStoreChange),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xstate/react",
|
|
3
|
-
"version": "4.0.0-
|
|
3
|
+
"version": "4.0.0-beta.4",
|
|
4
4
|
"description": "XState tools for React",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"state",
|
|
@@ -20,10 +20,12 @@
|
|
|
20
20
|
"exports": {
|
|
21
21
|
"./fsm": {
|
|
22
22
|
"module": "./fsm/dist/xstate-react-fsm.esm.js",
|
|
23
|
+
"import": "./fsm/dist/xstate-react-fsm.cjs.mjs",
|
|
23
24
|
"default": "./fsm/dist/xstate-react-fsm.cjs.js"
|
|
24
25
|
},
|
|
25
26
|
".": {
|
|
26
27
|
"module": "./dist/xstate-react.esm.js",
|
|
28
|
+
"import": "./dist/xstate-react.cjs.mjs",
|
|
27
29
|
"default": "./dist/xstate-react.cjs.js"
|
|
28
30
|
},
|
|
29
31
|
"./package.json": "./package.json"
|
|
@@ -43,9 +45,9 @@
|
|
|
43
45
|
"url": "https://github.com/statelyai/xstate/issues"
|
|
44
46
|
},
|
|
45
47
|
"peerDependencies": {
|
|
46
|
-
"@xstate/fsm": "^3.0.0-
|
|
48
|
+
"@xstate/fsm": "^3.0.0-beta.2",
|
|
47
49
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
48
|
-
"xstate": "^5.0.0-
|
|
50
|
+
"xstate": "^5.0.0-beta.10"
|
|
49
51
|
},
|
|
50
52
|
"peerDependenciesMeta": {
|
|
51
53
|
"@xstate/fsm": {
|
|
@@ -56,7 +58,7 @@
|
|
|
56
58
|
}
|
|
57
59
|
},
|
|
58
60
|
"dependencies": {
|
|
59
|
-
"use-isomorphic-layout-effect": "^1.
|
|
61
|
+
"use-isomorphic-layout-effect": "^1.1.2",
|
|
60
62
|
"use-sync-external-store": "^1.0.0"
|
|
61
63
|
},
|
|
62
64
|
"devDependencies": {
|
|
@@ -65,12 +67,12 @@
|
|
|
65
67
|
"@types/react": "^17.0.43",
|
|
66
68
|
"@types/react-dom": "^17.0.14",
|
|
67
69
|
"@types/use-sync-external-store": "^0.0.3",
|
|
68
|
-
"@xstate/fsm": "3.0.0-
|
|
70
|
+
"@xstate/fsm": "3.0.0-beta.2",
|
|
69
71
|
"jsdom": "^14.0.0",
|
|
70
72
|
"jsdom-global": "^3.0.2",
|
|
71
73
|
"react": "^18.0.0",
|
|
72
74
|
"react-dom": "^18.0.0",
|
|
73
|
-
"xstate": "5.0.0-
|
|
75
|
+
"xstate": "5.0.0-beta.10"
|
|
74
76
|
},
|
|
75
77
|
"preconstruct": {
|
|
76
78
|
"entrypoints": [
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { EventObject, MachineContext, StateConfig } from 'xstate';
|
|
2
|
-
export type MaybeLazy<T> = T | (() => T);
|
|
3
|
-
export type NoInfer<T> = [T][T extends any ? 0 : any];
|
|
4
|
-
export type Prop<T, K> = K extends keyof T ? T[K] : never;
|
|
5
|
-
export interface UseMachineOptions<TContext extends MachineContext, TEvent extends EventObject> {
|
|
6
|
-
/**
|
|
7
|
-
* If provided, will be merged with machine's `context`.
|
|
8
|
-
*/
|
|
9
|
-
context?: Partial<TContext>;
|
|
10
|
-
/**
|
|
11
|
-
* The state to rehydrate the machine to. The machine will
|
|
12
|
-
* start at this state instead of its `initialState`.
|
|
13
|
-
*/
|
|
14
|
-
state?: StateConfig<TContext, TEvent>;
|
|
15
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { AnyInterpreter, AnyStateMachine, AreAllImplementationsAssumedToBeProvided, InternalMachineImplementations, InterpreterFrom, InterpreterOptions, MachineImplementations, Observer, StateFrom } from 'xstate';
|
|
2
|
-
import { MaybeLazy } from './types.ts';
|
|
3
|
-
export declare function useIdleInterpreter(getMachine: MaybeLazy<AnyStateMachine>, options: Partial<InterpreterOptions<AnyStateMachine>> & Partial<MachineImplementations<any, never>>): AnyInterpreter;
|
|
4
|
-
type RestParams<TMachine extends AnyStateMachine> = AreAllImplementationsAssumedToBeProvided<TMachine['__TResolvedTypesMeta']> extends false ? [
|
|
5
|
-
options: InterpreterOptions<TMachine> & InternalMachineImplementations<TMachine['__TContext'], TMachine['__TEvent'], TMachine['__TResolvedTypesMeta'], true>,
|
|
6
|
-
observerOrListener?: Observer<StateFrom<TMachine>> | ((value: StateFrom<TMachine>) => void)
|
|
7
|
-
] : [
|
|
8
|
-
options?: InterpreterOptions<TMachine> & InternalMachineImplementations<TMachine['__TContext'], TMachine['__TEvent'], TMachine['__TResolvedTypesMeta']>,
|
|
9
|
-
observerOrListener?: Observer<StateFrom<TMachine>> | ((value: StateFrom<TMachine>) => void)
|
|
10
|
-
];
|
|
11
|
-
export declare function useInterpret<TMachine extends AnyStateMachine>(getMachine: MaybeLazy<TMachine>, ...[options, observerOrListener]: RestParams<TMachine>): InterpreterFrom<TMachine>;
|
|
12
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ActorRef, ActorBehavior, EventObject } from 'xstate';
|
|
2
|
-
/**
|
|
3
|
-
* React hook that spawns an `ActorRef` with the specified `behavior`.
|
|
4
|
-
* The returned `ActorRef` can be used with the `useActor(actorRef)` hook.
|
|
5
|
-
*
|
|
6
|
-
* @param behavior The actor behavior to spawn
|
|
7
|
-
* @returns An ActorRef with the specified `behavior`
|
|
8
|
-
*/
|
|
9
|
-
export declare function useSpawn<TState, TEvent extends EventObject>(behavior: ActorBehavior<TEvent, TState>): ActorRef<TEvent, TState>;
|