@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.
@@ -199,18 +199,26 @@ const displayValue = value => {
199
199
  json
200
200
  } = SuperJSON__default["default"].serialize(value);
201
201
  return JSON.stringify(json);
202
- };
202
+ }; // Sorting functions
203
203
 
204
204
  const getStatusRank = q => q.state.fetchStatus !== 'idle' ? 0 : !q.getObserversCount() ? 3 : q.isStale() ? 2 : 1;
205
205
 
206
- const sortFns = {
207
- 'Status > Last Updated': (a, b) => {
208
- var _sortFns$LastUpdated;
206
+ const queryHashSort = (a, b) => a.queryHash.localeCompare(b.queryHash);
209
207
 
210
- return getStatusRank(a) === getStatusRank(b) ? (_sortFns$LastUpdated = sortFns['Last Updated']) == null ? void 0 : _sortFns$LastUpdated.call(sortFns, a, b) : getStatusRank(a) > getStatusRank(b) ? 1 : -1;
211
- },
212
- 'Query Hash': (a, b) => a.queryHash > b.queryHash ? 1 : -1,
213
- 'Last Updated': (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1
208
+ const dateSort = (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1;
209
+
210
+ const statusAndDateSort = (a, b) => {
211
+ if (getStatusRank(a) === getStatusRank(b)) {
212
+ return dateSort(a, b);
213
+ }
214
+
215
+ return getStatusRank(a) > getStatusRank(b) ? 1 : -1;
216
+ };
217
+
218
+ const sortFns = {
219
+ 'Status > Last Updated': statusAndDateSort,
220
+ 'Query Hash': queryHashSort,
221
+ 'Last Updated': dateSort
214
222
  };
215
223
 
216
224
  function ScreenReader({
@@ -763,27 +771,21 @@ const ReactQueryDevtoolsPanel$1 = /*#__PURE__*/React__namespace.forwardRef(funct
763
771
  const queryCache = queryClient.getQueryCache();
764
772
  const [sort, setSort] = useLocalStorage('reactQueryDevtoolsSortFn', Object.keys(sortFns)[0]);
765
773
  const [filter, setFilter] = useLocalStorage('reactQueryDevtoolsFilter', '');
766
- const [sortDesc, setSortDesc] = useLocalStorage('reactQueryDevtoolsSortDesc', false);
774
+ const [baseSort, setBaseSort] = useLocalStorage('reactQueryDevtoolsBaseSort', 1);
767
775
  const sortFn = React__namespace.useMemo(() => sortFns[sort], [sort]);
768
776
  const queriesCount = useSubscribeToQueryCache(queryCache, () => queryCache.getAll().length, !isOpen);
769
777
  const [activeQueryHash, setActiveQueryHash] = useLocalStorage('reactQueryDevtoolsActiveQueryHash', '');
770
778
  const queries = React__namespace.useMemo(() => {
771
779
  const unsortedQueries = queryCache.getAll();
772
- const sorted = queriesCount > 0 ? [...unsortedQueries].sort(sortFn) : [];
773
-
774
- if (sortDesc) {
775
- sorted.reverse();
776
- }
777
780
 
778
- if (!filter) {
779
- return sorted;
781
+ if (queriesCount === 0) {
782
+ return [];
780
783
  }
781
784
 
782
- let ranked = sorted.map(item => [item, matchSorterUtils.rankItem(item.queryHash, filter)]);
783
- ranked = ranked.filter(d => d[1].passed);
784
- ranked = ranked.sort((a, b) => matchSorterUtils.compareItems(a[1], b[1]));
785
- return ranked.map(d => d[0]);
786
- }, [sortDesc, sortFn, filter, queriesCount, queryCache]);
785
+ const filtered = filter ? unsortedQueries.filter(item => matchSorterUtils.rankItem(item.queryHash, filter).passed) : [...unsortedQueries];
786
+ const sorted = sortFn ? filtered.sort((a, b) => sortFn(a, b) * baseSort) : filtered;
787
+ return sorted;
788
+ }, [baseSort, sortFn, filter, queriesCount, queryCache]);
787
789
  const [isMockOffline, setMockOffline] = React__namespace.useState(false);
788
790
  return /*#__PURE__*/React__namespace.createElement(ThemeProvider, {
789
791
  theme: defaultTheme
@@ -885,12 +887,12 @@ const ReactQueryDevtoolsPanel$1 = /*#__PURE__*/React__namespace.forwardRef(funct
885
887
  value: key
886
888
  }, "Sort by ", key))), /*#__PURE__*/React__namespace.createElement(Button, {
887
889
  type: "button",
888
- onClick: () => setSortDesc(old => !old),
890
+ onClick: () => setBaseSort(old => old * -1),
889
891
  style: {
890
892
  padding: '.3em .4em',
891
893
  marginRight: '.5em'
892
894
  }
893
- }, sortDesc ? ' Desc' : ' Asc'), /*#__PURE__*/React__namespace.createElement(Button, {
895
+ }, baseSort === 1 ? ' Asc' : ' Desc'), /*#__PURE__*/React__namespace.createElement(Button, {
894
896
  type: "button",
895
897
  onClick: () => {
896
898
  if (isMockOffline) {