@tanstack/vue-query 4.24.10 → 5.0.0-alpha.0

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.
Files changed (112) hide show
  1. package/build/lib/__mocks__/useBaseQuery.d.ts +2 -2
  2. package/build/lib/__mocks__/useQueryClient.d.ts +1 -1
  3. package/build/lib/devtools/devtools.esm.js +6 -12
  4. package/build/lib/devtools/devtools.esm.js.map +1 -1
  5. package/build/lib/devtools/devtools.js +6 -14
  6. package/build/lib/devtools/devtools.js.map +1 -1
  7. package/build/lib/devtools/devtools.mjs +6 -12
  8. package/build/lib/devtools/devtools.mjs.map +1 -1
  9. package/build/lib/devtools/utils.esm.js +0 -23
  10. package/build/lib/devtools/utils.esm.js.map +1 -1
  11. package/build/lib/devtools/utils.js +0 -25
  12. package/build/lib/devtools/utils.js.map +1 -1
  13. package/build/lib/devtools/utils.mjs +0 -23
  14. package/build/lib/devtools/utils.mjs.map +1 -1
  15. package/build/lib/index.js +0 -2
  16. package/build/lib/index.js.map +1 -1
  17. package/build/lib/mutationCache.d.ts +3 -3
  18. package/build/lib/mutationCache.esm.js +1 -3
  19. package/build/lib/mutationCache.esm.js.map +1 -1
  20. package/build/lib/mutationCache.js +1 -5
  21. package/build/lib/mutationCache.js.map +1 -1
  22. package/build/lib/mutationCache.mjs +1 -3
  23. package/build/lib/mutationCache.mjs.map +1 -1
  24. package/build/lib/queryCache.d.ts +2 -4
  25. package/build/lib/queryCache.esm.js +5 -16
  26. package/build/lib/queryCache.esm.js.map +1 -1
  27. package/build/lib/queryCache.js +4 -17
  28. package/build/lib/queryCache.js.map +1 -1
  29. package/build/lib/queryCache.mjs +5 -16
  30. package/build/lib/queryCache.mjs.map +1 -1
  31. package/build/lib/queryClient.d.ts +13 -29
  32. package/build/lib/queryClient.esm.js +33 -124
  33. package/build/lib/queryClient.esm.js.map +1 -1
  34. package/build/lib/queryClient.js +32 -125
  35. package/build/lib/queryClient.js.map +1 -1
  36. package/build/lib/queryClient.mjs +33 -124
  37. package/build/lib/queryClient.mjs.map +1 -1
  38. package/build/lib/types.d.ts +1 -13
  39. package/build/lib/useBaseQuery.d.ts +6 -7
  40. package/build/lib/useBaseQuery.esm.js +15 -41
  41. package/build/lib/useBaseQuery.esm.js.map +1 -1
  42. package/build/lib/useBaseQuery.js +12 -41
  43. package/build/lib/useBaseQuery.js.map +1 -1
  44. package/build/lib/useBaseQuery.mjs +15 -41
  45. package/build/lib/useBaseQuery.mjs.map +1 -1
  46. package/build/lib/useInfiniteQuery.d.ts +10 -10
  47. package/build/lib/useInfiniteQuery.esm.js +5 -5
  48. package/build/lib/useInfiniteQuery.esm.js.map +1 -1
  49. package/build/lib/useInfiniteQuery.js +5 -7
  50. package/build/lib/useInfiniteQuery.js.map +1 -1
  51. package/build/lib/useInfiniteQuery.mjs +5 -5
  52. package/build/lib/useInfiniteQuery.mjs.map +1 -1
  53. package/build/lib/useIsFetching.d.ts +5 -6
  54. package/build/lib/useIsFetching.esm.js +10 -28
  55. package/build/lib/useIsFetching.esm.js.map +1 -1
  56. package/build/lib/useIsFetching.js +7 -28
  57. package/build/lib/useIsFetching.js.map +1 -1
  58. package/build/lib/useIsFetching.mjs +10 -28
  59. package/build/lib/useIsFetching.mjs.map +1 -1
  60. package/build/lib/useIsMutating.d.ts +5 -6
  61. package/build/lib/useIsMutating.esm.js +10 -28
  62. package/build/lib/useIsMutating.esm.js.map +1 -1
  63. package/build/lib/useIsMutating.js +7 -28
  64. package/build/lib/useIsMutating.js.map +1 -1
  65. package/build/lib/useIsMutating.mjs +10 -28
  66. package/build/lib/useIsMutating.mjs.map +1 -1
  67. package/build/lib/useMutation.d.ts +6 -12
  68. package/build/lib/useMutation.esm.js +12 -41
  69. package/build/lib/useMutation.esm.js.map +1 -1
  70. package/build/lib/useMutation.js +9 -41
  71. package/build/lib/useMutation.js.map +1 -1
  72. package/build/lib/useMutation.mjs +12 -41
  73. package/build/lib/useMutation.mjs.map +1 -1
  74. package/build/lib/useQueries.d.ts +15 -10
  75. package/build/lib/useQueries.esm.js +17 -26
  76. package/build/lib/useQueries.esm.js.map +1 -1
  77. package/build/lib/useQueries.js +16 -27
  78. package/build/lib/useQueries.js.map +1 -1
  79. package/build/lib/useQueries.mjs +17 -26
  80. package/build/lib/useQueries.mjs.map +1 -1
  81. package/build/lib/useQuery.d.ts +14 -28
  82. package/build/lib/useQuery.esm.js +5 -5
  83. package/build/lib/useQuery.esm.js.map +1 -1
  84. package/build/lib/useQuery.js +5 -7
  85. package/build/lib/useQuery.js.map +1 -1
  86. package/build/lib/useQuery.mjs +5 -5
  87. package/build/lib/useQuery.mjs.map +1 -1
  88. package/build/lib/useQueryClient.esm.js +1 -7
  89. package/build/lib/useQueryClient.esm.js.map +1 -1
  90. package/build/lib/useQueryClient.js +1 -9
  91. package/build/lib/useQueryClient.js.map +1 -1
  92. package/build/lib/useQueryClient.mjs +1 -7
  93. package/build/lib/useQueryClient.mjs.map +1 -1
  94. package/build/lib/utils.d.ts +3 -6
  95. package/build/lib/utils.esm.js +9 -17
  96. package/build/lib/utils.esm.js.map +1 -1
  97. package/build/lib/utils.js +8 -20
  98. package/build/lib/utils.js.map +1 -1
  99. package/build/lib/utils.mjs +9 -17
  100. package/build/lib/utils.mjs.map +1 -1
  101. package/build/lib/vueQueryPlugin.d.ts +0 -6
  102. package/build/lib/vueQueryPlugin.esm.js +5 -30
  103. package/build/lib/vueQueryPlugin.esm.js.map +1 -1
  104. package/build/lib/vueQueryPlugin.js +5 -32
  105. package/build/lib/vueQueryPlugin.js.map +1 -1
  106. package/build/lib/vueQueryPlugin.mjs +5 -30
  107. package/build/lib/vueQueryPlugin.mjs.map +1 -1
  108. package/build/umd/index.development.js +1025 -1857
  109. package/build/umd/index.development.js.map +1 -1
  110. package/build/umd/index.production.js +1 -1
  111. package/build/umd/index.production.js.map +1 -1
  112. package/package.json +11 -7
@@ -1,3 +1,3 @@
1
1
  /// <reference types="jest" />
2
- export declare const useBaseQuery: jest.Mock<unknown, any[]>;
3
- export declare const parseQueryArgs: any;
2
+ export declare const useBaseQuery: jest.Mock<unknown, any[], any>;
3
+ export declare const unrefQueryArgs: any;
@@ -1,3 +1,3 @@
1
1
  /// <reference types="jest" />
2
2
  import { QueryClient } from '../queryClient';
3
- export declare const useQueryClient: jest.Mock<QueryClient, []>;
3
+ export declare const useQueryClient: jest.Mock<QueryClient, [], any>;
@@ -47,24 +47,20 @@ function setupDevtools(app, queryClient) {
47
47
  icon: 'cloud_download',
48
48
  tooltip: 'Refetch',
49
49
  action: queryHash => {
50
- var _queryCache$get;
51
-
52
- (_queryCache$get = queryCache.get(queryHash)) == null ? void 0 : _queryCache$get.fetch();
50
+ queryCache.get(queryHash)?.fetch();
53
51
  }
54
52
  }, {
55
53
  icon: 'alarm',
56
54
  tooltip: 'Invalidate',
57
55
  action: queryHash => {
58
56
  const query = queryCache.get(queryHash);
59
- queryClient.invalidateQueries(query.queryKey);
57
+ queryClient.invalidateQueries(query);
60
58
  }
61
59
  }, {
62
60
  icon: 'settings_backup_restore',
63
61
  tooltip: 'Reset',
64
62
  action: queryHash => {
65
- var _queryCache$get2;
66
-
67
- (_queryCache$get2 = queryCache.get(queryHash)) == null ? void 0 : _queryCache$get2.reset();
63
+ queryCache.get(queryHash)?.reset();
68
64
  }
69
65
  }, {
70
66
  icon: 'delete',
@@ -83,8 +79,8 @@ function setupDevtools(app, queryClient) {
83
79
  queryCache.subscribe(event => {
84
80
  api.sendInspectorTree(pluginId);
85
81
  api.sendInspectorState(pluginId);
86
-
87
- if ( // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
82
+ if (
83
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
88
84
  event && ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)) {
89
85
  api.addTimelineEvent({
90
86
  layerId: pluginId,
@@ -112,7 +108,7 @@ function setupDevtools(app, queryClient) {
112
108
  id: query.queryHash,
113
109
  label: query.queryHash,
114
110
  tags: [{
115
- label: stateLabel + " [" + query.getObserversCount() + "]",
111
+ label: `${stateLabel} [${query.getObserversCount()}]`,
116
112
  textColor: getQueryStatusFg(query),
117
113
  backgroundColor: getQueryStatusBg(query)
118
114
  }]
@@ -124,11 +120,9 @@ function setupDevtools(app, queryClient) {
124
120
  api.on.getInspectorState(payload => {
125
121
  if (payload.inspectorId === pluginId) {
126
122
  const query = queryCache.get(payload.nodeId);
127
-
128
123
  if (!query) {
129
124
  return;
130
125
  }
131
-
132
126
  payload.state = {
133
127
  ' Query Details': [{
134
128
  key: 'Query key',
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.esm.js","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport type { Query } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/v4',\n logo: 'https://vue-query.vercel.app/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n },\n },\n (api) => {\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'cloud_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries(query.queryKey)\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)\n ) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: CustomInspectorNode[] = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash as string,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"names":["pluginId","pluginName","setupDevtools","app","queryClient","setupDevtoolsPlugin","id","label","packageName","homepage","logo","settings","baseSort","type","component","options","value","defaultValue","sortFn","Object","keys","sortFns","map","key","api","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","queryKey","reset","remove","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","data","on","getInspectorTree","payload","inspectorId","queries","getAll","getSettings","filtered","filter","item","rankItem","passed","sorted","sort","a","b","nodes","stateLabel","getQueryStateLabel","tags","getObserversCount","textColor","getQueryStatusFg","backgroundColor","getQueryStatusBg","rootNodes","getInspectorState","nodeId","state","Date","dataUpdatedAt","toLocaleTimeString"],"mappings":"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"}
1
+ {"version":3,"file":"devtools.esm.js","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport type { Query } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/v4',\n logo: 'https://vue-query.vercel.app/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n },\n },\n (api) => {\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'cloud_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries(query)\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)\n ) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: CustomInspectorNode[] = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash as string,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"names":["pluginId","pluginName","setupDevtools","app","queryClient","setupDevtoolsPlugin","id","label","packageName","homepage","logo","settings","baseSort","type","component","options","value","defaultValue","sortFn","Object","keys","sortFns","map","key","api","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","reset","remove","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","data","on","getInspectorTree","payload","inspectorId","queries","getAll","getSettings","filtered","filter","item","rankItem","passed","sorted","sort","a","b","nodes","stateLabel","getQueryStateLabel","tags","getObserversCount","textColor","getQueryStatusFg","backgroundColor","getQueryStatusBg","rootNodes","getInspectorState","nodeId","state","Date","dataUpdatedAt","toLocaleTimeString"],"mappings":";;;;AAAA;AAcA,MAAMA,QAAQ,GAAG,WAAW,CAAA;AAC5B,MAAMC,UAAU,GAAG,WAAW,CAAA;AAEvB,SAASC,aAAa,CAACC,GAAQ,EAAEC,WAAwB,EAAE;AAChEC,EAAAA,mBAAmB,CACjB;AACEC,IAAAA,EAAE,EAAEN,QAAQ;AACZO,IAAAA,KAAK,EAAEN,UAAU;AACjBO,IAAAA,WAAW,EAAE,WAAW;AACxBC,IAAAA,QAAQ,EAAE,+BAA+B;AACzCC,IAAAA,IAAI,EAAE,4CAA4C;IAClDP,GAAG;AACHQ,IAAAA,QAAQ,EAAE;AACRC,MAAAA,QAAQ,EAAE;AACRC,QAAAA,IAAI,EAAE,QAAQ;AACdC,QAAAA,SAAS,EAAE,cAAc;AACzBP,QAAAA,KAAK,EAAE,oBAAoB;AAC3BQ,QAAAA,OAAO,EAAE,CACP;AACER,UAAAA,KAAK,EAAE,KAAK;AACZS,UAAAA,KAAK,EAAE,CAAA;AACT,SAAC,EACD;AACET,UAAAA,KAAK,EAAE,MAAM;AACbS,UAAAA,KAAK,EAAE,CAAC,CAAA;AACV,SAAC,CACF;AACDC,QAAAA,YAAY,EAAE,CAAA;OACf;AACDC,MAAAA,MAAM,EAAE;AACNL,QAAAA,IAAI,EAAE,QAAQ;AACdN,QAAAA,KAAK,EAAE,eAAe;QACtBQ,OAAO,EAAEI,MAAM,CAACC,IAAI,CAACC,OAAO,CAAC,CAACC,GAAG,CAAEC,GAAG,KAAM;AAC1ChB,UAAAA,KAAK,EAAEgB,GAAG;AACVP,UAAAA,KAAK,EAAEO,GAAAA;AACT,SAAC,CAAC,CAAC;QACHN,YAAY,EAAEE,MAAM,CAACC,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC,CAAA;AACtC,OAAA;AACF,KAAA;GACD,EACAG,GAAG,IAAK;AACP,IAAA,MAAMC,UAAU,GAAGrB,WAAW,CAACsB,aAAa,EAAE,CAAA;IAE9CF,GAAG,CAACG,YAAY,CAAC;AACfrB,MAAAA,EAAE,EAAEN,QAAQ;AACZO,MAAAA,KAAK,EAAEN,UAAU;AACjB2B,MAAAA,IAAI,EAAE,KAAK;AACXC,MAAAA,WAAW,EAAE,CACX;AACED,QAAAA,IAAI,EAAE,gBAAgB;AACtBE,QAAAA,OAAO,EAAE,SAAS;QAClBC,MAAM,EAAGC,SAAiB,IAAK;AAC7BP,UAAAA,UAAU,CAACQ,GAAG,CAACD,SAAS,CAAC,EAAEE,KAAK,EAAE,CAAA;AACpC,SAAA;AACF,OAAC,EACD;AACEN,QAAAA,IAAI,EAAE,OAAO;AACbE,QAAAA,OAAO,EAAE,YAAY;QACrBC,MAAM,EAAGC,SAAiB,IAAK;AAC7B,UAAA,MAAMG,KAAK,GAAGV,UAAU,CAACQ,GAAG,CAACD,SAAS,CAAU,CAAA;AAChD5B,UAAAA,WAAW,CAACgC,iBAAiB,CAACD,KAAK,CAAC,CAAA;AACtC,SAAA;AACF,OAAC,EACD;AACEP,QAAAA,IAAI,EAAE,yBAAyB;AAC/BE,QAAAA,OAAO,EAAE,OAAO;QAChBC,MAAM,EAAGC,SAAiB,IAAK;AAC7BP,UAAAA,UAAU,CAACQ,GAAG,CAACD,SAAS,CAAC,EAAEK,KAAK,EAAE,CAAA;AACpC,SAAA;AACF,OAAC,EACD;AACET,QAAAA,IAAI,EAAE,QAAQ;AACdE,QAAAA,OAAO,EAAE,QAAQ;QACjBC,MAAM,EAAGC,SAAiB,IAAK;AAC7B,UAAA,MAAMG,KAAK,GAAGV,UAAU,CAACQ,GAAG,CAACD,SAAS,CAAU,CAAA;AAChDP,UAAAA,UAAU,CAACa,MAAM,CAACH,KAAK,CAAC,CAAA;AAC1B,SAAA;OACD,CAAA;AAEL,KAAC,CAAC,CAAA;IAEFX,GAAG,CAACe,gBAAgB,CAAC;AACnBjC,MAAAA,EAAE,EAAEN,QAAQ;AACZO,MAAAA,KAAK,EAAEN,UAAU;AACjBuC,MAAAA,KAAK,EAAE,QAAA;AACT,KAAC,CAAC,CAAA;AAEFf,IAAAA,UAAU,CAACgB,SAAS,CAAEC,KAAK,IAAK;AAC9BlB,MAAAA,GAAG,CAACmB,iBAAiB,CAAC3C,QAAQ,CAAC,CAAA;AAC/BwB,MAAAA,GAAG,CAACoB,kBAAkB,CAAC5C,QAAQ,CAAC,CAAA;AAEhC,MAAA;AACE;AACA0C,MAAAA,KAAK,IACL,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC,CAACG,QAAQ,CAACH,KAAK,CAAC7B,IAAI,CAAC,EACnE;QACAW,GAAG,CAACsB,gBAAgB,CAAC;AACnBC,UAAAA,OAAO,EAAE/C,QAAQ;AACjB0C,UAAAA,KAAK,EAAE;YACLM,KAAK,EAAEN,KAAK,CAAC7B,IAAI;AACjBoC,YAAAA,QAAQ,EAAEP,KAAK,CAACP,KAAK,CAACH,SAAS;AAC/BkB,YAAAA,IAAI,EAAE1B,GAAG,CAAC2B,GAAG,EAAE;AACfC,YAAAA,IAAI,EAAE;AACJpB,cAAAA,SAAS,EAAEU,KAAK,CAACP,KAAK,CAACH,SAAS;cAChC,GAAGU,KAAAA;AACL,aAAA;AACF,WAAA;AACF,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAC,CAAC,CAAA;AAEFlB,IAAAA,GAAG,CAAC6B,EAAE,CAACC,gBAAgB,CAAEC,OAAO,IAAK;AACnC,MAAA,IAAIA,OAAO,CAACC,WAAW,KAAKxD,QAAQ,EAAE;AACpC,QAAA,MAAMyD,OAAO,GAAGhC,UAAU,CAACiC,MAAM,EAAE,CAAA;AACnC,QAAA,MAAM/C,QAAQ,GAAGa,GAAG,CAACmC,WAAW,EAAE,CAAA;AAElC,QAAA,MAAMC,QAAQ,GAAGL,OAAO,CAACM,MAAM,GAC3BJ,OAAO,CAACI,MAAM,CACXC,IAAI,IAAKC,QAAQ,CAACD,IAAI,CAAC9B,SAAS,EAAEuB,OAAO,CAACM,MAAM,CAAC,CAACG,MAAM,CAC1D,GACD,CAAC,GAAGP,OAAO,CAAC,CAAA;QAEhB,MAAMQ,MAAM,GAAGL,QAAQ,CAACM,IAAI,CAC1B,CAACC,CAAC,EAAEC,CAAC,KAAK/C,OAAO,CAACV,QAAQ,CAACO,MAAM,CAAC,CAAEiD,CAAC,EAAEC,CAAC,CAAC,GAAGzD,QAAQ,CAACC,QAAQ,CAC9D,CAAA;AAED,QAAA,MAAMyD,KAA4B,GAAGJ,MAAM,CAAC3C,GAAG,CAAEa,KAAK,IAAK;AACzD,UAAA,MAAMmC,UAAU,GAAGC,kBAAkB,CAACpC,KAAK,CAAC,CAAA;UAE5C,OAAO;YACL7B,EAAE,EAAE6B,KAAK,CAACH,SAAS;YACnBzB,KAAK,EAAE4B,KAAK,CAACH,SAAS;AACtBwC,YAAAA,IAAI,EAAE,CACJ;cACEjE,KAAK,EAAG,GAAE+D,UAAW,CAAA,EAAA,EAAInC,KAAK,CAACsC,iBAAiB,EAAG,CAAE,CAAA,CAAA;AACrDC,cAAAA,SAAS,EAAEC,gBAAgB,CAACxC,KAAK,CAAC;cAClCyC,eAAe,EAAEC,gBAAgB,CAAC1C,KAAK,CAAA;aACxC,CAAA;WAEJ,CAAA;AACH,SAAC,CAAC,CAAA;QACFoB,OAAO,CAACuB,SAAS,GAAGT,KAAK,CAAA;AAC3B,OAAA;AACF,KAAC,CAAC,CAAA;AAEF7C,IAAAA,GAAG,CAAC6B,EAAE,CAAC0B,iBAAiB,CAAExB,OAAO,IAAK;AACpC,MAAA,IAAIA,OAAO,CAACC,WAAW,KAAKxD,QAAQ,EAAE;QACpC,MAAMmC,KAAK,GAAGV,UAAU,CAACQ,GAAG,CAACsB,OAAO,CAACyB,MAAM,CAAC,CAAA;QAE5C,IAAI,CAAC7C,KAAK,EAAE;AACV,UAAA,OAAA;AACF,SAAA;QAEAoB,OAAO,CAAC0B,KAAK,GAAG;AACd,UAAA,gBAAgB,EAAE,CAChB;AACE1D,YAAAA,GAAG,EAAE,WAAW;YAChBP,KAAK,EAAEmB,KAAK,CAACH,SAAAA;AACf,WAAC,EACD;AACET,YAAAA,GAAG,EAAE,cAAc;YACnBP,KAAK,EAAEuD,kBAAkB,CAACpC,KAAK,CAAA;AACjC,WAAC,EACD;AACEZ,YAAAA,GAAG,EAAE,WAAW;YAChBP,KAAK,EAAEmB,KAAK,CAACsC,iBAAiB,EAAA;AAChC,WAAC,EACD;AACElD,YAAAA,GAAG,EAAE,cAAc;YACnBP,KAAK,EAAE,IAAIkE,IAAI,CAAC/C,KAAK,CAAC8C,KAAK,CAACE,aAAa,CAAC,CAACC,kBAAkB,EAAA;AAC/D,WAAC,CACF;AACD,UAAA,eAAe,EAAE,CACf;AACE7D,YAAAA,GAAG,EAAE,MAAM;AACXP,YAAAA,KAAK,EAAEmB,KAAK,CAAC8C,KAAK,CAAC7B,IAAAA;AACrB,WAAC,CACF;AACD,UAAA,gBAAgB,EAAE,CAChB;AACE7B,YAAAA,GAAG,EAAE,OAAO;AACZP,YAAAA,KAAK,EAAEmB,KAAAA;WACR,CAAA;SAEJ,CAAA;AACH,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,CACF,CAAA;AACH;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  var devtoolsApi = require('@vue/devtools-api');
6
4
  var matchSorterUtils = require('@tanstack/match-sorter-utils');
7
5
  var utils = require('./utils.js');
@@ -51,24 +49,20 @@ function setupDevtools(app, queryClient) {
51
49
  icon: 'cloud_download',
52
50
  tooltip: 'Refetch',
53
51
  action: queryHash => {
54
- var _queryCache$get;
55
-
56
- (_queryCache$get = queryCache.get(queryHash)) == null ? void 0 : _queryCache$get.fetch();
52
+ queryCache.get(queryHash)?.fetch();
57
53
  }
58
54
  }, {
59
55
  icon: 'alarm',
60
56
  tooltip: 'Invalidate',
61
57
  action: queryHash => {
62
58
  const query = queryCache.get(queryHash);
63
- queryClient.invalidateQueries(query.queryKey);
59
+ queryClient.invalidateQueries(query);
64
60
  }
65
61
  }, {
66
62
  icon: 'settings_backup_restore',
67
63
  tooltip: 'Reset',
68
64
  action: queryHash => {
69
- var _queryCache$get2;
70
-
71
- (_queryCache$get2 = queryCache.get(queryHash)) == null ? void 0 : _queryCache$get2.reset();
65
+ queryCache.get(queryHash)?.reset();
72
66
  }
73
67
  }, {
74
68
  icon: 'delete',
@@ -87,8 +81,8 @@ function setupDevtools(app, queryClient) {
87
81
  queryCache.subscribe(event => {
88
82
  api.sendInspectorTree(pluginId);
89
83
  api.sendInspectorState(pluginId);
90
-
91
- if ( // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
84
+ if (
85
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
92
86
  event && ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)) {
93
87
  api.addTimelineEvent({
94
88
  layerId: pluginId,
@@ -116,7 +110,7 @@ function setupDevtools(app, queryClient) {
116
110
  id: query.queryHash,
117
111
  label: query.queryHash,
118
112
  tags: [{
119
- label: stateLabel + " [" + query.getObserversCount() + "]",
113
+ label: `${stateLabel} [${query.getObserversCount()}]`,
120
114
  textColor: utils.getQueryStatusFg(query),
121
115
  backgroundColor: utils.getQueryStatusBg(query)
122
116
  }]
@@ -128,11 +122,9 @@ function setupDevtools(app, queryClient) {
128
122
  api.on.getInspectorState(payload => {
129
123
  if (payload.inspectorId === pluginId) {
130
124
  const query = queryCache.get(payload.nodeId);
131
-
132
125
  if (!query) {
133
126
  return;
134
127
  }
135
-
136
128
  payload.state = {
137
129
  ' Query Details': [{
138
130
  key: 'Query key',
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.js","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport type { Query } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/v4',\n logo: 'https://vue-query.vercel.app/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n },\n },\n (api) => {\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'cloud_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries(query.queryKey)\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)\n ) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: CustomInspectorNode[] = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash as string,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"names":["pluginId","pluginName","setupDevtools","app","queryClient","setupDevtoolsPlugin","id","label","packageName","homepage","logo","settings","baseSort","type","component","options","value","defaultValue","sortFn","Object","keys","sortFns","map","key","api","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","queryKey","reset","remove","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","data","on","getInspectorTree","payload","inspectorId","queries","getAll","getSettings","filtered","filter","item","rankItem","passed","sorted","sort","a","b","nodes","stateLabel","getQueryStateLabel","tags","getObserversCount","textColor","getQueryStatusFg","backgroundColor","getQueryStatusBg","rootNodes","getInspectorState","nodeId","state","Date","dataUpdatedAt","toLocaleTimeString"],"mappings":";;;;;;;;AAAA;AAcA,MAAMA,QAAQ,GAAG,WAAjB,CAAA;AACA,MAAMC,UAAU,GAAG,WAAnB,CAAA;AAEO,SAASC,aAAT,CAAuBC,GAAvB,EAAiCC,WAAjC,EAA2D;AAChEC,EAAAA,+BAAmB,CACjB;AACEC,IAAAA,EAAE,EAAEN,QADN;AAEEO,IAAAA,KAAK,EAAEN,UAFT;AAGEO,IAAAA,WAAW,EAAE,WAHf;AAIEC,IAAAA,QAAQ,EAAE,+BAJZ;AAKEC,IAAAA,IAAI,EAAE,4CALR;IAMEP,GANF;AAOEQ,IAAAA,QAAQ,EAAE;AACRC,MAAAA,QAAQ,EAAE;AACRC,QAAAA,IAAI,EAAE,QADE;AAERC,QAAAA,SAAS,EAAE,cAFH;AAGRP,QAAAA,KAAK,EAAE,oBAHC;AAIRQ,QAAAA,OAAO,EAAE,CACP;AACER,UAAAA,KAAK,EAAE,KADT;AAEES,UAAAA,KAAK,EAAE,CAAA;AAFT,SADO,EAKP;AACET,UAAAA,KAAK,EAAE,MADT;AAEES,UAAAA,KAAK,EAAE,CAAC,CAAA;AAFV,SALO,CAJD;AAcRC,QAAAA,YAAY,EAAE,CAAA;OAfR;AAiBRC,MAAAA,MAAM,EAAE;AACNL,QAAAA,IAAI,EAAE,QADA;AAENN,QAAAA,KAAK,EAAE,eAFD;QAGNQ,OAAO,EAAEI,MAAM,CAACC,IAAP,CAAYC,aAAZ,CAAqBC,CAAAA,GAArB,CAA0BC,GAAD,KAAU;AAC1ChB,UAAAA,KAAK,EAAEgB,GADmC;AAE1CP,UAAAA,KAAK,EAAEO,GAAAA;AAFmC,SAAV,CAAzB,CAHH;AAONN,QAAAA,YAAY,EAAEE,MAAM,CAACC,IAAP,CAAYC,aAAZ,EAAqB,CAArB,CAAA;AAPR,OAAA;AAjBA,KAAA;GARK,EAoChBG,GAAD,IAAS;AACP,IAAA,MAAMC,UAAU,GAAGrB,WAAW,CAACsB,aAAZ,EAAnB,CAAA;IAEAF,GAAG,CAACG,YAAJ,CAAiB;AACfrB,MAAAA,EAAE,EAAEN,QADW;AAEfO,MAAAA,KAAK,EAAEN,UAFQ;AAGf2B,MAAAA,IAAI,EAAE,KAHS;AAIfC,MAAAA,WAAW,EAAE,CACX;AACED,QAAAA,IAAI,EAAE,gBADR;AAEEE,QAAAA,OAAO,EAAE,SAFX;QAGEC,MAAM,EAAGC,SAAD,IAAuB;AAAA,UAAA,IAAA,eAAA,CAAA;;AAC7B,UAAA,CAAA,eAAA,GAAAP,UAAU,CAACQ,GAAX,CAAeD,SAAf,sCAA2BE,KAA3B,EAAA,CAAA;AACD,SAAA;AALH,OADW,EAQX;AACEN,QAAAA,IAAI,EAAE,OADR;AAEEE,QAAAA,OAAO,EAAE,YAFX;QAGEC,MAAM,EAAGC,SAAD,IAAuB;AAC7B,UAAA,MAAMG,KAAK,GAAGV,UAAU,CAACQ,GAAX,CAAeD,SAAf,CAAd,CAAA;AACA5B,UAAAA,WAAW,CAACgC,iBAAZ,CAA8BD,KAAK,CAACE,QAApC,CAAA,CAAA;AACD,SAAA;AANH,OARW,EAgBX;AACET,QAAAA,IAAI,EAAE,yBADR;AAEEE,QAAAA,OAAO,EAAE,OAFX;QAGEC,MAAM,EAAGC,SAAD,IAAuB;AAAA,UAAA,IAAA,gBAAA,CAAA;;AAC7B,UAAA,CAAA,gBAAA,GAAAP,UAAU,CAACQ,GAAX,CAAeD,SAAf,uCAA2BM,KAA3B,EAAA,CAAA;AACD,SAAA;AALH,OAhBW,EAuBX;AACEV,QAAAA,IAAI,EAAE,QADR;AAEEE,QAAAA,OAAO,EAAE,QAFX;QAGEC,MAAM,EAAGC,SAAD,IAAuB;AAC7B,UAAA,MAAMG,KAAK,GAAGV,UAAU,CAACQ,GAAX,CAAeD,SAAf,CAAd,CAAA;UACAP,UAAU,CAACc,MAAX,CAAkBJ,KAAlB,CAAA,CAAA;AACD,SAAA;OA7BQ,CAAA;KAJf,CAAA,CAAA;IAsCAX,GAAG,CAACgB,gBAAJ,CAAqB;AACnBlC,MAAAA,EAAE,EAAEN,QADe;AAEnBO,MAAAA,KAAK,EAAEN,UAFY;AAGnBwC,MAAAA,KAAK,EAAE,QAAA;KAHT,CAAA,CAAA;AAMAhB,IAAAA,UAAU,CAACiB,SAAX,CAAsBC,KAAD,IAAW;MAC9BnB,GAAG,CAACoB,iBAAJ,CAAsB5C,QAAtB,CAAA,CAAA;MACAwB,GAAG,CAACqB,kBAAJ,CAAuB7C,QAAvB,CAAA,CAAA;;MAEA;AAEE2C,MAAAA,KAAK,IACL,CAAC,YAAD,EAAe,cAAf,EAA+B,cAA/B,CAA+CG,CAAAA,QAA/C,CAAwDH,KAAK,CAAC9B,IAA9D,CAHF,EAIE;QACAW,GAAG,CAACuB,gBAAJ,CAAqB;AACnBC,UAAAA,OAAO,EAAEhD,QADU;AAEnB2C,UAAAA,KAAK,EAAE;YACLM,KAAK,EAAEN,KAAK,CAAC9B,IADR;AAELqC,YAAAA,QAAQ,EAAEP,KAAK,CAACR,KAAN,CAAYH,SAFjB;AAGLmB,YAAAA,IAAI,EAAE3B,GAAG,CAAC4B,GAAJ,EAHD;AAILC,YAAAA,IAAI,EAAE;AACJrB,cAAAA,SAAS,EAAEW,KAAK,CAACR,KAAN,CAAYH,SADnB;cAEJ,GAAGW,KAAAA;AAFC,aAAA;AAJD,WAAA;SAFT,CAAA,CAAA;AAYD,OAAA;KArBH,CAAA,CAAA;AAwBAnB,IAAAA,GAAG,CAAC8B,EAAJ,CAAOC,gBAAP,CAAyBC,OAAD,IAAa;AACnC,MAAA,IAAIA,OAAO,CAACC,WAAR,KAAwBzD,QAA5B,EAAsC;AACpC,QAAA,MAAM0D,OAAO,GAAGjC,UAAU,CAACkC,MAAX,EAAhB,CAAA;AACA,QAAA,MAAMhD,QAAQ,GAAGa,GAAG,CAACoC,WAAJ,EAAjB,CAAA;AAEA,QAAA,MAAMC,QAAQ,GAAGL,OAAO,CAACM,MAAR,GACbJ,OAAO,CAACI,MAAR,CACGC,IAAD,IAAUC,yBAAQ,CAACD,IAAI,CAAC/B,SAAN,EAAiBwB,OAAO,CAACM,MAAzB,CAAR,CAAyCG,MADrD,CADa,GAIb,CAAC,GAAGP,OAAJ,CAJJ,CAAA;QAMA,MAAMQ,MAAM,GAAGL,QAAQ,CAACM,IAAT,CACb,CAACC,CAAD,EAAIC,CAAJ,KAAUhD,aAAO,CAACV,QAAQ,CAACO,MAAV,CAAP,CAA0BkD,CAA1B,EAA6BC,CAA7B,CAAkC1D,GAAAA,QAAQ,CAACC,QADxC,CAAf,CAAA;AAIA,QAAA,MAAM0D,KAA4B,GAAGJ,MAAM,CAAC5C,GAAP,CAAYa,KAAD,IAAW;AACzD,UAAA,MAAMoC,UAAU,GAAGC,wBAAkB,CAACrC,KAAD,CAArC,CAAA;UAEA,OAAO;YACL7B,EAAE,EAAE6B,KAAK,CAACH,SADL;YAELzB,KAAK,EAAE4B,KAAK,CAACH,SAFR;AAGLyC,YAAAA,IAAI,EAAE,CACJ;AACElE,cAAAA,KAAK,EAAKgE,UAAL,GAAA,IAAA,GAAoBpC,KAAK,CAACuC,iBAAN,EAApB,GADP,GAAA;AAEEC,cAAAA,SAAS,EAAEC,sBAAgB,CAACzC,KAAD,CAF7B;cAGE0C,eAAe,EAAEC,sBAAgB,CAAC3C,KAAD,CAAA;aAJ/B,CAAA;WAHR,CAAA;AAWD,SAdoC,CAArC,CAAA;QAeAqB,OAAO,CAACuB,SAAR,GAAoBT,KAApB,CAAA;AACD,OAAA;KA/BH,CAAA,CAAA;AAkCA9C,IAAAA,GAAG,CAAC8B,EAAJ,CAAO0B,iBAAP,CAA0BxB,OAAD,IAAa;AACpC,MAAA,IAAIA,OAAO,CAACC,WAAR,KAAwBzD,QAA5B,EAAsC;QACpC,MAAMmC,KAAK,GAAGV,UAAU,CAACQ,GAAX,CAAeuB,OAAO,CAACyB,MAAvB,CAAd,CAAA;;QAEA,IAAI,CAAC9C,KAAL,EAAY;AACV,UAAA,OAAA;AACD,SAAA;;QAEDqB,OAAO,CAAC0B,KAAR,GAAgB;AACd,UAAA,gBAAA,EAAkB,CAChB;AACE3D,YAAAA,GAAG,EAAE,WADP;YAEEP,KAAK,EAAEmB,KAAK,CAACH,SAAAA;AAFf,WADgB,EAKhB;AACET,YAAAA,GAAG,EAAE,cADP;YAEEP,KAAK,EAAEwD,wBAAkB,CAACrC,KAAD,CAAA;AAF3B,WALgB,EAShB;AACEZ,YAAAA,GAAG,EAAE,WADP;YAEEP,KAAK,EAAEmB,KAAK,CAACuC,iBAAN,EAAA;AAFT,WATgB,EAahB;AACEnD,YAAAA,GAAG,EAAE,cADP;YAEEP,KAAK,EAAE,IAAImE,IAAJ,CAAShD,KAAK,CAAC+C,KAAN,CAAYE,aAArB,CAAA,CAAoCC,kBAApC,EAAA;AAFT,WAbgB,CADJ;AAmBd,UAAA,eAAA,EAAiB,CACf;AACE9D,YAAAA,GAAG,EAAE,MADP;AAEEP,YAAAA,KAAK,EAAEmB,KAAK,CAAC+C,KAAN,CAAY7B,IAAAA;AAFrB,WADe,CAnBH;AAyBd,UAAA,gBAAA,EAAkB,CAChB;AACE9B,YAAAA,GAAG,EAAE,OADP;AAEEP,YAAAA,KAAK,EAAEmB,KAAAA;WAHO,CAAA;SAzBpB,CAAA;AAgCD,OAAA;KAxCH,CAAA,CAAA;AA0CD,GAvLgB,CAAnB,CAAA;AAyLD;;;;"}
1
+ {"version":3,"file":"devtools.js","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport type { Query } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/v4',\n logo: 'https://vue-query.vercel.app/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n },\n },\n (api) => {\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'cloud_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries(query)\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)\n ) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: CustomInspectorNode[] = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash as string,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"names":["pluginId","pluginName","setupDevtools","app","queryClient","setupDevtoolsPlugin","id","label","packageName","homepage","logo","settings","baseSort","type","component","options","value","defaultValue","sortFn","Object","keys","sortFns","map","key","api","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","reset","remove","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","data","on","getInspectorTree","payload","inspectorId","queries","getAll","getSettings","filtered","filter","item","rankItem","passed","sorted","sort","a","b","nodes","stateLabel","getQueryStateLabel","tags","getObserversCount","textColor","getQueryStatusFg","backgroundColor","getQueryStatusBg","rootNodes","getInspectorState","nodeId","state","Date","dataUpdatedAt","toLocaleTimeString"],"mappings":"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"}
@@ -47,24 +47,20 @@ function setupDevtools(app, queryClient) {
47
47
  icon: 'cloud_download',
48
48
  tooltip: 'Refetch',
49
49
  action: queryHash => {
50
- var _queryCache$get;
51
-
52
- (_queryCache$get = queryCache.get(queryHash)) == null ? void 0 : _queryCache$get.fetch();
50
+ queryCache.get(queryHash)?.fetch();
53
51
  }
54
52
  }, {
55
53
  icon: 'alarm',
56
54
  tooltip: 'Invalidate',
57
55
  action: queryHash => {
58
56
  const query = queryCache.get(queryHash);
59
- queryClient.invalidateQueries(query.queryKey);
57
+ queryClient.invalidateQueries(query);
60
58
  }
61
59
  }, {
62
60
  icon: 'settings_backup_restore',
63
61
  tooltip: 'Reset',
64
62
  action: queryHash => {
65
- var _queryCache$get2;
66
-
67
- (_queryCache$get2 = queryCache.get(queryHash)) == null ? void 0 : _queryCache$get2.reset();
63
+ queryCache.get(queryHash)?.reset();
68
64
  }
69
65
  }, {
70
66
  icon: 'delete',
@@ -83,8 +79,8 @@ function setupDevtools(app, queryClient) {
83
79
  queryCache.subscribe(event => {
84
80
  api.sendInspectorTree(pluginId);
85
81
  api.sendInspectorState(pluginId);
86
-
87
- if ( // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
82
+ if (
83
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
88
84
  event && ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)) {
89
85
  api.addTimelineEvent({
90
86
  layerId: pluginId,
@@ -112,7 +108,7 @@ function setupDevtools(app, queryClient) {
112
108
  id: query.queryHash,
113
109
  label: query.queryHash,
114
110
  tags: [{
115
- label: stateLabel + " [" + query.getObserversCount() + "]",
111
+ label: `${stateLabel} [${query.getObserversCount()}]`,
116
112
  textColor: getQueryStatusFg(query),
117
113
  backgroundColor: getQueryStatusBg(query)
118
114
  }]
@@ -124,11 +120,9 @@ function setupDevtools(app, queryClient) {
124
120
  api.on.getInspectorState(payload => {
125
121
  if (payload.inspectorId === pluginId) {
126
122
  const query = queryCache.get(payload.nodeId);
127
-
128
123
  if (!query) {
129
124
  return;
130
125
  }
131
-
132
126
  payload.state = {
133
127
  ' Query Details': [{
134
128
  key: 'Query key',
@@ -1 +1 @@
1
- {"version":3,"file":"devtools.mjs","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport type { Query } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/v4',\n logo: 'https://vue-query.vercel.app/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n },\n },\n (api) => {\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'cloud_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries(query.queryKey)\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)\n ) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: CustomInspectorNode[] = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash as string,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"names":["pluginId","pluginName","setupDevtools","app","queryClient","setupDevtoolsPlugin","id","label","packageName","homepage","logo","settings","baseSort","type","component","options","value","defaultValue","sortFn","Object","keys","sortFns","map","key","api","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","queryKey","reset","remove","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","data","on","getInspectorTree","payload","inspectorId","queries","getAll","getSettings","filtered","filter","item","rankItem","passed","sorted","sort","a","b","nodes","stateLabel","getQueryStateLabel","tags","getObserversCount","textColor","getQueryStatusFg","backgroundColor","getQueryStatusBg","rootNodes","getInspectorState","nodeId","state","Date","dataUpdatedAt","toLocaleTimeString"],"mappings":"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"}
1
+ {"version":3,"file":"devtools.mjs","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport type { Query } from '@tanstack/query-core'\nimport type { QueryClient } from '../queryClient'\nimport {\n getQueryStateLabel,\n getQueryStatusBg,\n getQueryStatusFg,\n sortFns,\n} from './utils'\n\nconst pluginId = 'vue-query'\nconst pluginName = 'Vue Query'\n\nexport function setupDevtools(app: any, queryClient: QueryClient) {\n setupDevtoolsPlugin(\n {\n id: pluginId,\n label: pluginName,\n packageName: 'vue-query',\n homepage: 'https://tanstack.com/query/v4',\n logo: 'https://vue-query.vercel.app/vue-query.svg',\n app,\n settings: {\n baseSort: {\n type: 'choice',\n component: 'button-group',\n label: 'Sort Cache Entries',\n options: [\n {\n label: 'ASC',\n value: 1,\n },\n {\n label: 'DESC',\n value: -1,\n },\n ],\n defaultValue: 1,\n },\n sortFn: {\n type: 'choice',\n label: 'Sort Function',\n options: Object.keys(sortFns).map((key) => ({\n label: key,\n value: key,\n })),\n defaultValue: Object.keys(sortFns)[0]!,\n },\n },\n },\n (api) => {\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'cloud_download',\n tooltip: 'Refetch',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.fetch()\n },\n },\n {\n icon: 'alarm',\n tooltip: 'Invalidate',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryClient.invalidateQueries(query)\n },\n },\n {\n icon: 'settings_backup_restore',\n tooltip: 'Reset',\n action: (queryHash: string) => {\n queryCache.get(queryHash)?.reset()\n },\n },\n {\n icon: 'delete',\n tooltip: 'Remove',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n queryCache.remove(query)\n },\n },\n ],\n })\n\n api.addTimelineLayer({\n id: pluginId,\n label: pluginName,\n color: 0xffd94c,\n })\n\n queryCache.subscribe((event) => {\n api.sendInspectorTree(pluginId)\n api.sendInspectorState(pluginId)\n\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)\n ) {\n api.addTimelineEvent({\n layerId: pluginId,\n event: {\n title: event.type,\n subtitle: event.query.queryHash,\n time: api.now(),\n data: {\n queryHash: event.query.queryHash,\n ...event,\n },\n },\n })\n }\n })\n\n api.on.getInspectorTree((payload) => {\n if (payload.inspectorId === pluginId) {\n const queries = queryCache.getAll()\n const settings = api.getSettings()\n\n const filtered = payload.filter\n ? queries.filter(\n (item) => rankItem(item.queryHash, payload.filter).passed,\n )\n : [...queries]\n\n const sorted = filtered.sort(\n (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,\n )\n\n const nodes: CustomInspectorNode[] = sorted.map((query) => {\n const stateLabel = getQueryStateLabel(query)\n\n return {\n id: query.queryHash,\n label: query.queryHash,\n tags: [\n {\n label: `${stateLabel} [${query.getObserversCount()}]`,\n textColor: getQueryStatusFg(query),\n backgroundColor: getQueryStatusBg(query),\n },\n ],\n }\n })\n payload.rootNodes = nodes\n }\n })\n\n api.on.getInspectorState((payload) => {\n if (payload.inspectorId === pluginId) {\n const query = queryCache.get(payload.nodeId)\n\n if (!query) {\n return\n }\n\n payload.state = {\n ' Query Details': [\n {\n key: 'Query key',\n value: query.queryHash as string,\n },\n {\n key: 'Query status',\n value: getQueryStateLabel(query),\n },\n {\n key: 'Observers',\n value: query.getObserversCount(),\n },\n {\n key: 'Last Updated',\n value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),\n },\n ],\n 'Data Explorer': [\n {\n key: 'Data',\n value: query.state.data,\n },\n ],\n 'Query Explorer': [\n {\n key: 'Query',\n value: query,\n },\n ],\n }\n }\n })\n },\n )\n}\n"],"names":["pluginId","pluginName","setupDevtools","app","queryClient","setupDevtoolsPlugin","id","label","packageName","homepage","logo","settings","baseSort","type","component","options","value","defaultValue","sortFn","Object","keys","sortFns","map","key","api","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","reset","remove","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","data","on","getInspectorTree","payload","inspectorId","queries","getAll","getSettings","filtered","filter","item","rankItem","passed","sorted","sort","a","b","nodes","stateLabel","getQueryStateLabel","tags","getObserversCount","textColor","getQueryStatusFg","backgroundColor","getQueryStatusBg","rootNodes","getInspectorState","nodeId","state","Date","dataUpdatedAt","toLocaleTimeString"],"mappings":";;;;AAAA;AAcA,MAAMA,QAAQ,GAAG,WAAW,CAAA;AAC5B,MAAMC,UAAU,GAAG,WAAW,CAAA;AAEvB,SAASC,aAAa,CAACC,GAAQ,EAAEC,WAAwB,EAAE;AAChEC,EAAAA,mBAAmB,CACjB;AACEC,IAAAA,EAAE,EAAEN,QAAQ;AACZO,IAAAA,KAAK,EAAEN,UAAU;AACjBO,IAAAA,WAAW,EAAE,WAAW;AACxBC,IAAAA,QAAQ,EAAE,+BAA+B;AACzCC,IAAAA,IAAI,EAAE,4CAA4C;IAClDP,GAAG;AACHQ,IAAAA,QAAQ,EAAE;AACRC,MAAAA,QAAQ,EAAE;AACRC,QAAAA,IAAI,EAAE,QAAQ;AACdC,QAAAA,SAAS,EAAE,cAAc;AACzBP,QAAAA,KAAK,EAAE,oBAAoB;AAC3BQ,QAAAA,OAAO,EAAE,CACP;AACER,UAAAA,KAAK,EAAE,KAAK;AACZS,UAAAA,KAAK,EAAE,CAAA;AACT,SAAC,EACD;AACET,UAAAA,KAAK,EAAE,MAAM;AACbS,UAAAA,KAAK,EAAE,CAAC,CAAA;AACV,SAAC,CACF;AACDC,QAAAA,YAAY,EAAE,CAAA;OACf;AACDC,MAAAA,MAAM,EAAE;AACNL,QAAAA,IAAI,EAAE,QAAQ;AACdN,QAAAA,KAAK,EAAE,eAAe;QACtBQ,OAAO,EAAEI,MAAM,CAACC,IAAI,CAACC,OAAO,CAAC,CAACC,GAAG,CAAEC,GAAG,KAAM;AAC1ChB,UAAAA,KAAK,EAAEgB,GAAG;AACVP,UAAAA,KAAK,EAAEO,GAAAA;AACT,SAAC,CAAC,CAAC;QACHN,YAAY,EAAEE,MAAM,CAACC,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC,CAAA;AACtC,OAAA;AACF,KAAA;GACD,EACAG,GAAG,IAAK;AACP,IAAA,MAAMC,UAAU,GAAGrB,WAAW,CAACsB,aAAa,EAAE,CAAA;IAE9CF,GAAG,CAACG,YAAY,CAAC;AACfrB,MAAAA,EAAE,EAAEN,QAAQ;AACZO,MAAAA,KAAK,EAAEN,UAAU;AACjB2B,MAAAA,IAAI,EAAE,KAAK;AACXC,MAAAA,WAAW,EAAE,CACX;AACED,QAAAA,IAAI,EAAE,gBAAgB;AACtBE,QAAAA,OAAO,EAAE,SAAS;QAClBC,MAAM,EAAGC,SAAiB,IAAK;AAC7BP,UAAAA,UAAU,CAACQ,GAAG,CAACD,SAAS,CAAC,EAAEE,KAAK,EAAE,CAAA;AACpC,SAAA;AACF,OAAC,EACD;AACEN,QAAAA,IAAI,EAAE,OAAO;AACbE,QAAAA,OAAO,EAAE,YAAY;QACrBC,MAAM,EAAGC,SAAiB,IAAK;AAC7B,UAAA,MAAMG,KAAK,GAAGV,UAAU,CAACQ,GAAG,CAACD,SAAS,CAAU,CAAA;AAChD5B,UAAAA,WAAW,CAACgC,iBAAiB,CAACD,KAAK,CAAC,CAAA;AACtC,SAAA;AACF,OAAC,EACD;AACEP,QAAAA,IAAI,EAAE,yBAAyB;AAC/BE,QAAAA,OAAO,EAAE,OAAO;QAChBC,MAAM,EAAGC,SAAiB,IAAK;AAC7BP,UAAAA,UAAU,CAACQ,GAAG,CAACD,SAAS,CAAC,EAAEK,KAAK,EAAE,CAAA;AACpC,SAAA;AACF,OAAC,EACD;AACET,QAAAA,IAAI,EAAE,QAAQ;AACdE,QAAAA,OAAO,EAAE,QAAQ;QACjBC,MAAM,EAAGC,SAAiB,IAAK;AAC7B,UAAA,MAAMG,KAAK,GAAGV,UAAU,CAACQ,GAAG,CAACD,SAAS,CAAU,CAAA;AAChDP,UAAAA,UAAU,CAACa,MAAM,CAACH,KAAK,CAAC,CAAA;AAC1B,SAAA;OACD,CAAA;AAEL,KAAC,CAAC,CAAA;IAEFX,GAAG,CAACe,gBAAgB,CAAC;AACnBjC,MAAAA,EAAE,EAAEN,QAAQ;AACZO,MAAAA,KAAK,EAAEN,UAAU;AACjBuC,MAAAA,KAAK,EAAE,QAAA;AACT,KAAC,CAAC,CAAA;AAEFf,IAAAA,UAAU,CAACgB,SAAS,CAAEC,KAAK,IAAK;AAC9BlB,MAAAA,GAAG,CAACmB,iBAAiB,CAAC3C,QAAQ,CAAC,CAAA;AAC/BwB,MAAAA,GAAG,CAACoB,kBAAkB,CAAC5C,QAAQ,CAAC,CAAA;AAEhC,MAAA;AACE;AACA0C,MAAAA,KAAK,IACL,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC,CAACG,QAAQ,CAACH,KAAK,CAAC7B,IAAI,CAAC,EACnE;QACAW,GAAG,CAACsB,gBAAgB,CAAC;AACnBC,UAAAA,OAAO,EAAE/C,QAAQ;AACjB0C,UAAAA,KAAK,EAAE;YACLM,KAAK,EAAEN,KAAK,CAAC7B,IAAI;AACjBoC,YAAAA,QAAQ,EAAEP,KAAK,CAACP,KAAK,CAACH,SAAS;AAC/BkB,YAAAA,IAAI,EAAE1B,GAAG,CAAC2B,GAAG,EAAE;AACfC,YAAAA,IAAI,EAAE;AACJpB,cAAAA,SAAS,EAAEU,KAAK,CAACP,KAAK,CAACH,SAAS;cAChC,GAAGU,KAAAA;AACL,aAAA;AACF,WAAA;AACF,SAAC,CAAC,CAAA;AACJ,OAAA;AACF,KAAC,CAAC,CAAA;AAEFlB,IAAAA,GAAG,CAAC6B,EAAE,CAACC,gBAAgB,CAAEC,OAAO,IAAK;AACnC,MAAA,IAAIA,OAAO,CAACC,WAAW,KAAKxD,QAAQ,EAAE;AACpC,QAAA,MAAMyD,OAAO,GAAGhC,UAAU,CAACiC,MAAM,EAAE,CAAA;AACnC,QAAA,MAAM/C,QAAQ,GAAGa,GAAG,CAACmC,WAAW,EAAE,CAAA;AAElC,QAAA,MAAMC,QAAQ,GAAGL,OAAO,CAACM,MAAM,GAC3BJ,OAAO,CAACI,MAAM,CACXC,IAAI,IAAKC,QAAQ,CAACD,IAAI,CAAC9B,SAAS,EAAEuB,OAAO,CAACM,MAAM,CAAC,CAACG,MAAM,CAC1D,GACD,CAAC,GAAGP,OAAO,CAAC,CAAA;QAEhB,MAAMQ,MAAM,GAAGL,QAAQ,CAACM,IAAI,CAC1B,CAACC,CAAC,EAAEC,CAAC,KAAK/C,OAAO,CAACV,QAAQ,CAACO,MAAM,CAAC,CAAEiD,CAAC,EAAEC,CAAC,CAAC,GAAGzD,QAAQ,CAACC,QAAQ,CAC9D,CAAA;AAED,QAAA,MAAMyD,KAA4B,GAAGJ,MAAM,CAAC3C,GAAG,CAAEa,KAAK,IAAK;AACzD,UAAA,MAAMmC,UAAU,GAAGC,kBAAkB,CAACpC,KAAK,CAAC,CAAA;UAE5C,OAAO;YACL7B,EAAE,EAAE6B,KAAK,CAACH,SAAS;YACnBzB,KAAK,EAAE4B,KAAK,CAACH,SAAS;AACtBwC,YAAAA,IAAI,EAAE,CACJ;cACEjE,KAAK,EAAG,GAAE+D,UAAW,CAAA,EAAA,EAAInC,KAAK,CAACsC,iBAAiB,EAAG,CAAE,CAAA,CAAA;AACrDC,cAAAA,SAAS,EAAEC,gBAAgB,CAACxC,KAAK,CAAC;cAClCyC,eAAe,EAAEC,gBAAgB,CAAC1C,KAAK,CAAA;aACxC,CAAA;WAEJ,CAAA;AACH,SAAC,CAAC,CAAA;QACFoB,OAAO,CAACuB,SAAS,GAAGT,KAAK,CAAA;AAC3B,OAAA;AACF,KAAC,CAAC,CAAA;AAEF7C,IAAAA,GAAG,CAAC6B,EAAE,CAAC0B,iBAAiB,CAAExB,OAAO,IAAK;AACpC,MAAA,IAAIA,OAAO,CAACC,WAAW,KAAKxD,QAAQ,EAAE;QACpC,MAAMmC,KAAK,GAAGV,UAAU,CAACQ,GAAG,CAACsB,OAAO,CAACyB,MAAM,CAAC,CAAA;QAE5C,IAAI,CAAC7C,KAAK,EAAE;AACV,UAAA,OAAA;AACF,SAAA;QAEAoB,OAAO,CAAC0B,KAAK,GAAG;AACd,UAAA,gBAAgB,EAAE,CAChB;AACE1D,YAAAA,GAAG,EAAE,WAAW;YAChBP,KAAK,EAAEmB,KAAK,CAACH,SAAAA;AACf,WAAC,EACD;AACET,YAAAA,GAAG,EAAE,cAAc;YACnBP,KAAK,EAAEuD,kBAAkB,CAACpC,KAAK,CAAA;AACjC,WAAC,EACD;AACEZ,YAAAA,GAAG,EAAE,WAAW;YAChBP,KAAK,EAAEmB,KAAK,CAACsC,iBAAiB,EAAA;AAChC,WAAC,EACD;AACElD,YAAAA,GAAG,EAAE,cAAc;YACnBP,KAAK,EAAE,IAAIkE,IAAI,CAAC/C,KAAK,CAAC8C,KAAK,CAACE,aAAa,CAAC,CAACC,kBAAkB,EAAA;AAC/D,WAAC,CACF;AACD,UAAA,eAAe,EAAE,CACf;AACE7D,YAAAA,GAAG,EAAE,MAAM;AACXP,YAAAA,KAAK,EAAEmB,KAAK,CAAC8C,KAAK,CAAC7B,IAAAA;AACrB,WAAC,CACF;AACD,UAAA,gBAAgB,EAAE,CAChB;AACE7B,YAAAA,GAAG,EAAE,OAAO;AACZP,YAAAA,KAAK,EAAEmB,KAAAA;WACR,CAAA;SAEJ,CAAA;AACH,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,CACF,CAAA;AACH;;;;"}
@@ -1,7 +1,6 @@
1
1
  /* istanbul ignore file */
2
2
  // eslint-disable-next-line no-shadow
3
3
  var QueryState;
4
-
5
4
  (function (QueryState) {
6
5
  QueryState[QueryState["Fetching"] = 0] = "Fetching";
7
6
  QueryState[QueryState["Fresh"] = 1] = "Fresh";
@@ -9,90 +8,68 @@ var QueryState;
9
8
  QueryState[QueryState["Inactive"] = 3] = "Inactive";
10
9
  QueryState[QueryState["Paused"] = 4] = "Paused";
11
10
  })(QueryState || (QueryState = {}));
12
-
13
11
  function getQueryState(query) {
14
12
  if (query.state.fetchStatus === 'fetching') {
15
13
  return QueryState.Fetching;
16
14
  }
17
-
18
15
  if (query.state.fetchStatus === 'paused') {
19
16
  return QueryState.Paused;
20
17
  }
21
-
22
18
  if (!query.getObserversCount()) {
23
19
  return QueryState.Inactive;
24
20
  }
25
-
26
21
  if (query.isStale()) {
27
22
  return QueryState.Stale;
28
23
  }
29
-
30
24
  return QueryState.Fresh;
31
25
  }
32
26
  function getQueryStateLabel(query) {
33
27
  const queryState = getQueryState(query);
34
-
35
28
  if (queryState === QueryState.Fetching) {
36
29
  return 'fetching';
37
30
  }
38
-
39
31
  if (queryState === QueryState.Paused) {
40
32
  return 'paused';
41
33
  }
42
-
43
34
  if (queryState === QueryState.Stale) {
44
35
  return 'stale';
45
36
  }
46
-
47
37
  if (queryState === QueryState.Inactive) {
48
38
  return 'inactive';
49
39
  }
50
-
51
40
  return 'fresh';
52
41
  }
53
42
  function getQueryStatusFg(query) {
54
43
  const queryState = getQueryState(query);
55
-
56
44
  if (queryState === QueryState.Stale) {
57
45
  return 0x000000;
58
46
  }
59
-
60
47
  return 0xffffff;
61
48
  }
62
49
  function getQueryStatusBg(query) {
63
50
  const queryState = getQueryState(query);
64
-
65
51
  if (queryState === QueryState.Fetching) {
66
52
  return 0x006bff;
67
53
  }
68
-
69
54
  if (queryState === QueryState.Paused) {
70
55
  return 0x8c49eb;
71
56
  }
72
-
73
57
  if (queryState === QueryState.Stale) {
74
58
  return 0xffb200;
75
59
  }
76
-
77
60
  if (queryState === QueryState.Inactive) {
78
61
  return 0x3f4e60;
79
62
  }
80
-
81
63
  return 0x008327;
82
64
  }
83
-
84
65
  const queryHashSort = (a, b) => a.queryHash.localeCompare(b.queryHash);
85
-
86
66
  const dateSort = (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1;
87
-
88
67
  const statusAndDateSort = (a, b) => {
89
68
  if (getQueryState(a) === getQueryState(b)) {
90
69
  return dateSort(a, b);
91
70
  }
92
-
93
71
  return getQueryState(a) > getQueryState(b) ? 1 : -1;
94
72
  };
95
-
96
73
  const sortFns = {
97
74
  'Status > Last Updated': statusAndDateSort,
98
75
  'Query Hash': queryHashSort,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.esm.js","sources":["../../../src/devtools/utils.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\n// eslint-disable-next-line no-shadow\nenum QueryState {\n Fetching = 0,\n Fresh,\n Stale,\n Inactive,\n Paused,\n}\n\nexport function getQueryState(query: Query): QueryState {\n if (query.state.fetchStatus === 'fetching') {\n return QueryState.Fetching\n }\n if (query.state.fetchStatus === 'paused') {\n return QueryState.Paused\n }\n if (!query.getObserversCount()) {\n return QueryState.Inactive\n }\n if (query.isStale()) {\n return QueryState.Stale\n }\n\n return QueryState.Fresh\n}\n\nexport function getQueryStateLabel(query: Query): string {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 'fetching'\n }\n if (queryState === QueryState.Paused) {\n return 'paused'\n }\n if (queryState === QueryState.Stale) {\n return 'stale'\n }\n if (queryState === QueryState.Inactive) {\n return 'inactive'\n }\n\n return 'fresh'\n}\n\nexport function getQueryStatusFg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Stale) {\n return 0x000000\n }\n\n return 0xffffff\n}\n\nexport function getQueryStatusBg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 0x006bff\n }\n if (queryState === QueryState.Paused) {\n return 0x8c49eb\n }\n if (queryState === QueryState.Stale) {\n return 0xffb200\n }\n if (queryState === QueryState.Inactive) {\n return 0x3f4e60\n }\n\n return 0x008327\n}\n\nconst queryHashSort: SortFn = (a, b) => a.queryHash.localeCompare(b.queryHash)\n\nconst dateSort: SortFn = (a, b) =>\n a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1\n\nconst statusAndDateSort: SortFn = (a, b) => {\n if (getQueryState(a) === getQueryState(b)) {\n return dateSort(a, b)\n }\n\n return getQueryState(a) > getQueryState(b) ? 1 : -1\n}\n\nexport const sortFns: Record<string, SortFn> = {\n 'Status > Last Updated': statusAndDateSort,\n 'Query Hash': queryHashSort,\n 'Last Updated': dateSort,\n}\n"],"names":["QueryState","getQueryState","query","state","fetchStatus","Fetching","Paused","getObserversCount","Inactive","isStale","Stale","Fresh","getQueryStateLabel","queryState","getQueryStatusFg","getQueryStatusBg","queryHashSort","a","b","queryHash","localeCompare","dateSort","dataUpdatedAt","statusAndDateSort","sortFns"],"mappings":"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"}
1
+ {"version":3,"file":"utils.esm.js","sources":["../../../src/devtools/utils.ts"],"sourcesContent":["/* istanbul ignore file */\n\nimport type { Query } from '@tanstack/query-core'\n\ntype SortFn = (a: Query, b: Query) => number\n\n// eslint-disable-next-line no-shadow\nenum QueryState {\n Fetching = 0,\n Fresh,\n Stale,\n Inactive,\n Paused,\n}\n\nexport function getQueryState(query: Query): QueryState {\n if (query.state.fetchStatus === 'fetching') {\n return QueryState.Fetching\n }\n if (query.state.fetchStatus === 'paused') {\n return QueryState.Paused\n }\n if (!query.getObserversCount()) {\n return QueryState.Inactive\n }\n if (query.isStale()) {\n return QueryState.Stale\n }\n\n return QueryState.Fresh\n}\n\nexport function getQueryStateLabel(query: Query): string {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 'fetching'\n }\n if (queryState === QueryState.Paused) {\n return 'paused'\n }\n if (queryState === QueryState.Stale) {\n return 'stale'\n }\n if (queryState === QueryState.Inactive) {\n return 'inactive'\n }\n\n return 'fresh'\n}\n\nexport function getQueryStatusFg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Stale) {\n return 0x000000\n }\n\n return 0xffffff\n}\n\nexport function getQueryStatusBg(query: Query): number {\n const queryState = getQueryState(query)\n\n if (queryState === QueryState.Fetching) {\n return 0x006bff\n }\n if (queryState === QueryState.Paused) {\n return 0x8c49eb\n }\n if (queryState === QueryState.Stale) {\n return 0xffb200\n }\n if (queryState === QueryState.Inactive) {\n return 0x3f4e60\n }\n\n return 0x008327\n}\n\nconst queryHashSort: SortFn = (a, b) => a.queryHash.localeCompare(b.queryHash)\n\nconst dateSort: SortFn = (a, b) =>\n a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1\n\nconst statusAndDateSort: SortFn = (a, b) => {\n if (getQueryState(a) === getQueryState(b)) {\n return dateSort(a, b)\n }\n\n return getQueryState(a) > getQueryState(b) ? 1 : -1\n}\n\nexport const sortFns: Record<string, SortFn> = {\n 'Status > Last Updated': statusAndDateSort,\n 'Query Hash': queryHashSort,\n 'Last Updated': dateSort,\n}\n"],"names":["QueryState","getQueryState","query","state","fetchStatus","Fetching","Paused","getObserversCount","Inactive","isStale","Stale","Fresh","getQueryStateLabel","queryState","getQueryStatusFg","getQueryStatusBg","queryHashSort","a","b","queryHash","localeCompare","dateSort","dataUpdatedAt","statusAndDateSort","sortFns"],"mappings":"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"}
@@ -1,11 +1,8 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
3
  /* istanbul ignore file */
6
4
  // eslint-disable-next-line no-shadow
7
5
  var QueryState;
8
-
9
6
  (function (QueryState) {
10
7
  QueryState[QueryState["Fetching"] = 0] = "Fetching";
11
8
  QueryState[QueryState["Fresh"] = 1] = "Fresh";
@@ -13,90 +10,68 @@ var QueryState;
13
10
  QueryState[QueryState["Inactive"] = 3] = "Inactive";
14
11
  QueryState[QueryState["Paused"] = 4] = "Paused";
15
12
  })(QueryState || (QueryState = {}));
16
-
17
13
  function getQueryState(query) {
18
14
  if (query.state.fetchStatus === 'fetching') {
19
15
  return QueryState.Fetching;
20
16
  }
21
-
22
17
  if (query.state.fetchStatus === 'paused') {
23
18
  return QueryState.Paused;
24
19
  }
25
-
26
20
  if (!query.getObserversCount()) {
27
21
  return QueryState.Inactive;
28
22
  }
29
-
30
23
  if (query.isStale()) {
31
24
  return QueryState.Stale;
32
25
  }
33
-
34
26
  return QueryState.Fresh;
35
27
  }
36
28
  function getQueryStateLabel(query) {
37
29
  const queryState = getQueryState(query);
38
-
39
30
  if (queryState === QueryState.Fetching) {
40
31
  return 'fetching';
41
32
  }
42
-
43
33
  if (queryState === QueryState.Paused) {
44
34
  return 'paused';
45
35
  }
46
-
47
36
  if (queryState === QueryState.Stale) {
48
37
  return 'stale';
49
38
  }
50
-
51
39
  if (queryState === QueryState.Inactive) {
52
40
  return 'inactive';
53
41
  }
54
-
55
42
  return 'fresh';
56
43
  }
57
44
  function getQueryStatusFg(query) {
58
45
  const queryState = getQueryState(query);
59
-
60
46
  if (queryState === QueryState.Stale) {
61
47
  return 0x000000;
62
48
  }
63
-
64
49
  return 0xffffff;
65
50
  }
66
51
  function getQueryStatusBg(query) {
67
52
  const queryState = getQueryState(query);
68
-
69
53
  if (queryState === QueryState.Fetching) {
70
54
  return 0x006bff;
71
55
  }
72
-
73
56
  if (queryState === QueryState.Paused) {
74
57
  return 0x8c49eb;
75
58
  }
76
-
77
59
  if (queryState === QueryState.Stale) {
78
60
  return 0xffb200;
79
61
  }
80
-
81
62
  if (queryState === QueryState.Inactive) {
82
63
  return 0x3f4e60;
83
64
  }
84
-
85
65
  return 0x008327;
86
66
  }
87
-
88
67
  const queryHashSort = (a, b) => a.queryHash.localeCompare(b.queryHash);
89
-
90
68
  const dateSort = (a, b) => a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1;
91
-
92
69
  const statusAndDateSort = (a, b) => {
93
70
  if (getQueryState(a) === getQueryState(b)) {
94
71
  return dateSort(a, b);
95
72
  }
96
-
97
73
  return getQueryState(a) > getQueryState(b) ? 1 : -1;
98
74
  };
99
-
100
75
  const sortFns = {
101
76
  'Status > Last Updated': statusAndDateSort,
102
77
  'Query Hash': queryHashSort,