@tanstack/react-query-devtools 4.10.0 → 4.10.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/build/lib/devtools.esm.js +10 -16
- package/build/lib/devtools.esm.js.map +1 -1
- package/build/lib/devtools.js +9 -15
- package/build/lib/devtools.js.map +1 -1
- package/build/lib/devtools.mjs +10 -16
- package/build/lib/devtools.mjs.map +1 -1
- package/build/lib/index.prod.esm.js +26 -24
- package/build/lib/index.prod.esm.js.map +1 -1
- package/build/lib/index.prod.js +25 -23
- package/build/lib/index.prod.js.map +1 -1
- package/build/lib/index.prod.mjs +26 -24
- package/build/lib/index.prod.mjs.map +1 -1
- package/build/lib/utils.d.ts +2 -1
- package/build/lib/utils.esm.js +16 -8
- package/build/lib/utils.esm.js.map +1 -1
- package/build/lib/utils.js +16 -8
- package/build/lib/utils.js.map +1 -1
- package/build/lib/utils.mjs +16 -8
- package/build/lib/utils.mjs.map +1 -1
- package/build/umd/index.development.js +25 -34
- package/build/umd/index.development.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/devtools.test.tsx +2 -2
- package/src/devtools.tsx +18 -21
- package/src/utils.ts +20 -10
package/build/lib/index.prod.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useQueryClient, onlineManager, notifyManager } from '@tanstack/react-query';
|
|
3
|
-
import { rankItem
|
|
3
|
+
import { rankItem } from '@tanstack/match-sorter-utils';
|
|
4
4
|
import SuperJSON from 'superjson';
|
|
5
5
|
import { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';
|
|
6
6
|
|
|
@@ -172,18 +172,26 @@ const displayValue = value => {
|
|
|
172
172
|
json
|
|
173
173
|
} = SuperJSON.serialize(value);
|
|
174
174
|
return JSON.stringify(json);
|
|
175
|
-
};
|
|
175
|
+
}; // Sorting functions
|
|
176
176
|
|
|
177
177
|
const getStatusRank = q => q.state.fetchStatus !== 'idle' ? 0 : !q.getObserversCount() ? 3 : q.isStale() ? 2 : 1;
|
|
178
178
|
|
|
179
|
-
const
|
|
180
|
-
'Status > Last Updated': (a, b) => {
|
|
181
|
-
var _sortFns$LastUpdated;
|
|
179
|
+
const queryHashSort = (a, b) => a.queryHash.localeCompare(b.queryHash);
|
|
182
180
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
181
|
+
const dateSort = (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1;
|
|
182
|
+
|
|
183
|
+
const statusAndDateSort = (a, b) => {
|
|
184
|
+
if (getStatusRank(a) === getStatusRank(b)) {
|
|
185
|
+
return dateSort(a, b);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return getStatusRank(a) > getStatusRank(b) ? 1 : -1;
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
const sortFns = {
|
|
192
|
+
'Status > Last Updated': statusAndDateSort,
|
|
193
|
+
'Query Hash': queryHashSort,
|
|
194
|
+
'Last Updated': dateSort
|
|
187
195
|
};
|
|
188
196
|
|
|
189
197
|
function ScreenReader({
|
|
@@ -736,27 +744,21 @@ const ReactQueryDevtoolsPanel$1 = /*#__PURE__*/React.forwardRef(function ReactQu
|
|
|
736
744
|
const queryCache = queryClient.getQueryCache();
|
|
737
745
|
const [sort, setSort] = useLocalStorage('reactQueryDevtoolsSortFn', Object.keys(sortFns)[0]);
|
|
738
746
|
const [filter, setFilter] = useLocalStorage('reactQueryDevtoolsFilter', '');
|
|
739
|
-
const [
|
|
747
|
+
const [baseSort, setBaseSort] = useLocalStorage('reactQueryDevtoolsBaseSort', 1);
|
|
740
748
|
const sortFn = React.useMemo(() => sortFns[sort], [sort]);
|
|
741
749
|
const queriesCount = useSubscribeToQueryCache(queryCache, () => queryCache.getAll().length, !isOpen);
|
|
742
750
|
const [activeQueryHash, setActiveQueryHash] = useLocalStorage('reactQueryDevtoolsActiveQueryHash', '');
|
|
743
751
|
const queries = React.useMemo(() => {
|
|
744
752
|
const unsortedQueries = queryCache.getAll();
|
|
745
|
-
const sorted = queriesCount > 0 ? [...unsortedQueries].sort(sortFn) : [];
|
|
746
|
-
|
|
747
|
-
if (sortDesc) {
|
|
748
|
-
sorted.reverse();
|
|
749
|
-
}
|
|
750
753
|
|
|
751
|
-
if (
|
|
752
|
-
return
|
|
754
|
+
if (queriesCount === 0) {
|
|
755
|
+
return [];
|
|
753
756
|
}
|
|
754
757
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
}, [sortDesc, sortFn, filter, queriesCount, queryCache]);
|
|
758
|
+
const filtered = filter ? unsortedQueries.filter(item => rankItem(item.queryHash, filter).passed) : [...unsortedQueries];
|
|
759
|
+
const sorted = sortFn ? filtered.sort((a, b) => sortFn(a, b) * baseSort) : filtered;
|
|
760
|
+
return sorted;
|
|
761
|
+
}, [baseSort, sortFn, filter, queriesCount, queryCache]);
|
|
760
762
|
const [isMockOffline, setMockOffline] = React.useState(false);
|
|
761
763
|
return /*#__PURE__*/React.createElement(ThemeProvider, {
|
|
762
764
|
theme: defaultTheme
|
|
@@ -858,12 +860,12 @@ const ReactQueryDevtoolsPanel$1 = /*#__PURE__*/React.forwardRef(function ReactQu
|
|
|
858
860
|
value: key
|
|
859
861
|
}, "Sort by ", key))), /*#__PURE__*/React.createElement(Button, {
|
|
860
862
|
type: "button",
|
|
861
|
-
onClick: () =>
|
|
863
|
+
onClick: () => setBaseSort(old => old * -1),
|
|
862
864
|
style: {
|
|
863
865
|
padding: '.3em .4em',
|
|
864
866
|
marginRight: '.5em'
|
|
865
867
|
}
|
|
866
|
-
},
|
|
868
|
+
}, baseSort === 1 ? '⬆ Asc' : '⬇ Desc'), /*#__PURE__*/React.createElement(Button, {
|
|
867
869
|
type: "button",
|
|
868
870
|
onClick: () => {
|
|
869
871
|
if (isMockOffline) {
|