@legendapp/state 3.0.0-alpha.4 → 3.0.0-alpha.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.
- package/package.json +1 -1
- package/react.js +11 -9
- package/react.mjs +12 -10
package/package.json
CHANGED
package/react.js
CHANGED
|
@@ -111,15 +111,6 @@ function useSelector(selector, options) {
|
|
|
111
111
|
const { subscribe, getVersion, run } = selectorFn;
|
|
112
112
|
value = run(selector);
|
|
113
113
|
index_js.useSyncExternalStore(subscribe, getVersion, getVersion);
|
|
114
|
-
if (options == null ? void 0 : options.suspense) {
|
|
115
|
-
if (state.isPromise(value) || !value && state.isObservable(selector) && state.syncState(selector).isLoaded.get() === false) {
|
|
116
|
-
if (React__default.default.use) {
|
|
117
|
-
React__default.default.use(value);
|
|
118
|
-
} else {
|
|
119
|
-
throw value;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
114
|
} catch (err) {
|
|
124
115
|
if ((process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test") && ((_a = err == null ? void 0 : err.message) == null ? void 0 : _a.includes("Rendered more"))) {
|
|
125
116
|
console.warn(
|
|
@@ -128,6 +119,17 @@ function useSelector(selector, options) {
|
|
|
128
119
|
}
|
|
129
120
|
throw err;
|
|
130
121
|
}
|
|
122
|
+
if (options == null ? void 0 : options.suspense) {
|
|
123
|
+
const isProm = state.isPromise(value);
|
|
124
|
+
if (state.isPromise(value) || !value && state.isObservable(selector)) {
|
|
125
|
+
const vProm = isProm ? value : state.when(selector);
|
|
126
|
+
if (React__default.default.use) {
|
|
127
|
+
React__default.default.use(vProm);
|
|
128
|
+
} else {
|
|
129
|
+
throw vProm;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
131
133
|
return value;
|
|
132
134
|
}
|
|
133
135
|
|
package/react.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isFunction, isEmpty, observable, isPromise, isObservable,
|
|
1
|
+
import { isFunction, isEmpty, observable, isPromise, isObservable, when, computeSelector, isArray, isMap, isObservableValueReady, linked, observe, whenReady, internal, trackSelector, isPrimitive } from '@legendapp/state';
|
|
2
2
|
import React, { memo, forwardRef, createElement, useState, useContext, useMemo, useRef, useEffect, createContext, useCallback } from 'react';
|
|
3
3
|
import { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';
|
|
4
4
|
|
|
@@ -105,15 +105,6 @@ function useSelector(selector, options) {
|
|
|
105
105
|
const { subscribe, getVersion, run } = selectorFn;
|
|
106
106
|
value = run(selector);
|
|
107
107
|
useSyncExternalStore(subscribe, getVersion, getVersion);
|
|
108
|
-
if (options == null ? void 0 : options.suspense) {
|
|
109
|
-
if (isPromise(value) || !value && isObservable(selector) && syncState(selector).isLoaded.get() === false) {
|
|
110
|
-
if (React.use) {
|
|
111
|
-
React.use(value);
|
|
112
|
-
} else {
|
|
113
|
-
throw value;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
108
|
} catch (err) {
|
|
118
109
|
if ((process.env.NODE_ENV === "development" || process.env.NODE_ENV === "test") && ((_a = err == null ? void 0 : err.message) == null ? void 0 : _a.includes("Rendered more"))) {
|
|
119
110
|
console.warn(
|
|
@@ -122,6 +113,17 @@ function useSelector(selector, options) {
|
|
|
122
113
|
}
|
|
123
114
|
throw err;
|
|
124
115
|
}
|
|
116
|
+
if (options == null ? void 0 : options.suspense) {
|
|
117
|
+
const isProm = isPromise(value);
|
|
118
|
+
if (isPromise(value) || !value && isObservable(selector)) {
|
|
119
|
+
const vProm = isProm ? value : when(selector);
|
|
120
|
+
if (React.use) {
|
|
121
|
+
React.use(vProm);
|
|
122
|
+
} else {
|
|
123
|
+
throw vProm;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
125
127
|
return value;
|
|
126
128
|
}
|
|
127
129
|
|