v-dict 2.0.4 → 2.0.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/dist/react/index.cjs +16 -7
- package/dist/react/index.js +16 -7
- package/package.json +1 -1
package/dist/react/index.cjs
CHANGED
|
@@ -244,13 +244,13 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
244
244
|
const globalMap = react.useSyncExternalStore(subscribeMap, getMapSnapshot);
|
|
245
245
|
const [clonedMap, setClonedMap] = react.useState(/* @__PURE__ */ new Map());
|
|
246
246
|
const map = !clone ? globalMap : clonedMap;
|
|
247
|
-
const state = react.useMemo(
|
|
248
|
-
() => createStateFromMap(map),
|
|
249
|
-
[map]
|
|
250
|
-
);
|
|
247
|
+
const state = react.useMemo(() => createStateFromMap(map), [map]);
|
|
251
248
|
const load = react.useCallback((options) => {
|
|
252
249
|
const oldLoadPromise = loadPromiseRef.current;
|
|
253
250
|
loadPromiseRef.current = createPromise();
|
|
251
|
+
if (!clone) {
|
|
252
|
+
globalLoadPromise = loadPromiseRef.current;
|
|
253
|
+
}
|
|
254
254
|
loadDict({ ...mergedOptions, ...options }).then((map2) => {
|
|
255
255
|
if (!clone) {
|
|
256
256
|
maps[code] = map2;
|
|
@@ -271,9 +271,12 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
271
271
|
}
|
|
272
272
|
setClonedMap(/* @__PURE__ */ new Map());
|
|
273
273
|
}, []);
|
|
274
|
-
const getItem = react.useCallback(
|
|
275
|
-
|
|
276
|
-
|
|
274
|
+
const getItem = react.useCallback(
|
|
275
|
+
(value) => {
|
|
276
|
+
return value !== null && value !== void 0 ? state.map[value] : null;
|
|
277
|
+
},
|
|
278
|
+
[state]
|
|
279
|
+
);
|
|
277
280
|
react.useEffect(() => {
|
|
278
281
|
if (!remote || immediate) {
|
|
279
282
|
if (clone) {
|
|
@@ -281,6 +284,9 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
281
284
|
} else {
|
|
282
285
|
if (!globalLoadPromise) {
|
|
283
286
|
globalLoadPromise = createPromise();
|
|
287
|
+
if (!clone) {
|
|
288
|
+
loadPromiseRef.current = globalLoadPromise;
|
|
289
|
+
}
|
|
284
290
|
load();
|
|
285
291
|
} else {
|
|
286
292
|
globalLoadPromise.then(() => {
|
|
@@ -296,6 +302,9 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
296
302
|
} else {
|
|
297
303
|
if (!globalLoadPromise) {
|
|
298
304
|
globalLoadPromise = createPromise();
|
|
305
|
+
if (!clone) {
|
|
306
|
+
loadPromiseRef.current = globalLoadPromise;
|
|
307
|
+
}
|
|
299
308
|
globalLoadPromise.resolve(void 0);
|
|
300
309
|
}
|
|
301
310
|
}
|
package/dist/react/index.js
CHANGED
|
@@ -115,13 +115,13 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
115
115
|
const globalMap = useSyncExternalStore(subscribeMap, getMapSnapshot);
|
|
116
116
|
const [clonedMap, setClonedMap] = useState(/* @__PURE__ */ new Map());
|
|
117
117
|
const map = !clone ? globalMap : clonedMap;
|
|
118
|
-
const state = useMemo(
|
|
119
|
-
() => createStateFromMap(map),
|
|
120
|
-
[map]
|
|
121
|
-
);
|
|
118
|
+
const state = useMemo(() => createStateFromMap(map), [map]);
|
|
122
119
|
const load = useCallback((options) => {
|
|
123
120
|
const oldLoadPromise = loadPromiseRef.current;
|
|
124
121
|
loadPromiseRef.current = createPromise();
|
|
122
|
+
if (!clone) {
|
|
123
|
+
globalLoadPromise = loadPromiseRef.current;
|
|
124
|
+
}
|
|
125
125
|
loadDict({ ...mergedOptions, ...options }).then((map2) => {
|
|
126
126
|
if (!clone) {
|
|
127
127
|
maps[code] = map2;
|
|
@@ -142,9 +142,12 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
142
142
|
}
|
|
143
143
|
setClonedMap(/* @__PURE__ */ new Map());
|
|
144
144
|
}, []);
|
|
145
|
-
const getItem = useCallback(
|
|
146
|
-
|
|
147
|
-
|
|
145
|
+
const getItem = useCallback(
|
|
146
|
+
(value) => {
|
|
147
|
+
return value !== null && value !== void 0 ? state.map[value] : null;
|
|
148
|
+
},
|
|
149
|
+
[state]
|
|
150
|
+
);
|
|
148
151
|
useEffect(() => {
|
|
149
152
|
if (!remote || immediate) {
|
|
150
153
|
if (clone) {
|
|
@@ -152,6 +155,9 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
152
155
|
} else {
|
|
153
156
|
if (!globalLoadPromise) {
|
|
154
157
|
globalLoadPromise = createPromise();
|
|
158
|
+
if (!clone) {
|
|
159
|
+
loadPromiseRef.current = globalLoadPromise;
|
|
160
|
+
}
|
|
155
161
|
load();
|
|
156
162
|
} else {
|
|
157
163
|
globalLoadPromise.then(() => {
|
|
@@ -167,6 +173,9 @@ function createDictManager(createDictManagerOptions = {}) {
|
|
|
167
173
|
} else {
|
|
168
174
|
if (!globalLoadPromise) {
|
|
169
175
|
globalLoadPromise = createPromise();
|
|
176
|
+
if (!clone) {
|
|
177
|
+
loadPromiseRef.current = globalLoadPromise;
|
|
178
|
+
}
|
|
170
179
|
globalLoadPromise.resolve(void 0);
|
|
171
180
|
}
|
|
172
181
|
}
|