floppy-disk 2.0.0-alpha.1 → 2.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.
- package/esm/react/create-query.d.ts +6 -0
- package/esm/react/create-query.js +7 -7
- package/esm/react/create-stores.d.ts +1 -0
- package/esm/react/create-stores.js +1 -0
- package/lib/react/create-query.d.ts +6 -0
- package/lib/react/create-query.js +7 -7
- package/lib/react/create-stores.d.ts +1 -0
- package/lib/react/create-stores.js +1 -0
- package/package.json +1 -1
|
@@ -153,7 +153,13 @@ export type UseQuery<TKey extends StoreKey = StoreKey, TResponse = any, TData =
|
|
|
153
153
|
key?: TKey;
|
|
154
154
|
response: TResponse;
|
|
155
155
|
}) => void;
|
|
156
|
+
/**
|
|
157
|
+
* Invalidate query means marking a query as stale, and will refetch only if the query is active (has subscriber)
|
|
158
|
+
*/
|
|
156
159
|
invalidate: () => void;
|
|
160
|
+
/**
|
|
161
|
+
* Invalidate query means marking a query as stale, and will refetch only if the query is active (has subscriber)
|
|
162
|
+
*/
|
|
157
163
|
invalidateSpecificKey: (key?: TKey | null) => void;
|
|
158
164
|
/**
|
|
159
165
|
* Optimistic update.
|
|
@@ -278,16 +278,16 @@ export const createQuery = (queryFn, options = {}) => {
|
|
|
278
278
|
});
|
|
279
279
|
};
|
|
280
280
|
useQuery.invalidate = () => {
|
|
281
|
-
useQuery.
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
281
|
+
useQuery.getStores().forEach((store) => {
|
|
282
|
+
const { set, getSubscribers } = store;
|
|
283
|
+
set({ responseUpdatedAt: null });
|
|
284
|
+
if (getSubscribers().size > 0)
|
|
285
|
+
store.get().forceFetch();
|
|
286
286
|
});
|
|
287
287
|
};
|
|
288
288
|
useQuery.invalidateSpecificKey = (key) => {
|
|
289
|
-
useQuery.
|
|
290
|
-
|
|
289
|
+
const { set, getSubscribers } = useQuery.getStore(key);
|
|
290
|
+
set({ responseUpdatedAt: null });
|
|
291
291
|
if (getSubscribers().size > 0)
|
|
292
292
|
useQuery.get(key).forceFetch();
|
|
293
293
|
};
|
|
@@ -25,6 +25,7 @@ export type UseStores<TKey extends StoreKey = StoreKey, T extends StoreData = St
|
|
|
25
25
|
subscribe: (key: Maybe<TKey>, fn: (state: T) => void, selectDeps?: SelectDeps<T>) => () => void;
|
|
26
26
|
getSubscribers: (key: Maybe<TKey>) => Subscribers<T>;
|
|
27
27
|
getStore: (key?: Maybe<TKey>) => InitStoreReturn<T>;
|
|
28
|
+
getStores: () => Map<string, InitStoreReturn<T>>;
|
|
28
29
|
/**
|
|
29
30
|
* Set default values inside a component.
|
|
30
31
|
*
|
|
@@ -75,6 +75,7 @@ export const createStores = (initializer, options = {}) => {
|
|
|
75
75
|
return store.getSubscribers();
|
|
76
76
|
};
|
|
77
77
|
useStores.getStore = (key) => getStore(key);
|
|
78
|
+
useStores.getStores = () => stores;
|
|
78
79
|
useStores.setDefaultValues = (key, value) => {
|
|
79
80
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
80
81
|
useState(() => {
|
|
@@ -153,7 +153,13 @@ export type UseQuery<TKey extends StoreKey = StoreKey, TResponse = any, TData =
|
|
|
153
153
|
key?: TKey;
|
|
154
154
|
response: TResponse;
|
|
155
155
|
}) => void;
|
|
156
|
+
/**
|
|
157
|
+
* Invalidate query means marking a query as stale, and will refetch only if the query is active (has subscriber)
|
|
158
|
+
*/
|
|
156
159
|
invalidate: () => void;
|
|
160
|
+
/**
|
|
161
|
+
* Invalidate query means marking a query as stale, and will refetch only if the query is active (has subscriber)
|
|
162
|
+
*/
|
|
157
163
|
invalidateSpecificKey: (key?: TKey | null) => void;
|
|
158
164
|
/**
|
|
159
165
|
* Optimistic update.
|
|
@@ -281,16 +281,16 @@ const createQuery = (queryFn, options = {}) => {
|
|
|
281
281
|
});
|
|
282
282
|
};
|
|
283
283
|
useQuery.invalidate = () => {
|
|
284
|
-
useQuery.
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
284
|
+
useQuery.getStores().forEach((store) => {
|
|
285
|
+
const { set, getSubscribers } = store;
|
|
286
|
+
set({ responseUpdatedAt: null });
|
|
287
|
+
if (getSubscribers().size > 0)
|
|
288
|
+
store.get().forceFetch();
|
|
289
289
|
});
|
|
290
290
|
};
|
|
291
291
|
useQuery.invalidateSpecificKey = (key) => {
|
|
292
|
-
useQuery.
|
|
293
|
-
|
|
292
|
+
const { set, getSubscribers } = useQuery.getStore(key);
|
|
293
|
+
set({ responseUpdatedAt: null });
|
|
294
294
|
if (getSubscribers().size > 0)
|
|
295
295
|
useQuery.get(key).forceFetch();
|
|
296
296
|
};
|
|
@@ -25,6 +25,7 @@ export type UseStores<TKey extends StoreKey = StoreKey, T extends StoreData = St
|
|
|
25
25
|
subscribe: (key: Maybe<TKey>, fn: (state: T) => void, selectDeps?: SelectDeps<T>) => () => void;
|
|
26
26
|
getSubscribers: (key: Maybe<TKey>) => Subscribers<T>;
|
|
27
27
|
getStore: (key?: Maybe<TKey>) => InitStoreReturn<T>;
|
|
28
|
+
getStores: () => Map<string, InitStoreReturn<T>>;
|
|
28
29
|
/**
|
|
29
30
|
* Set default values inside a component.
|
|
30
31
|
*
|
|
@@ -78,6 +78,7 @@ const createStores = (initializer, options = {}) => {
|
|
|
78
78
|
return store.getSubscribers();
|
|
79
79
|
};
|
|
80
80
|
useStores.getStore = (key) => getStore(key);
|
|
81
|
+
useStores.getStores = () => stores;
|
|
81
82
|
useStores.setDefaultValues = (key, value) => {
|
|
82
83
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
83
84
|
(0, react_1.useState)(() => {
|