@tanstack/vue-query 5.0.0-alpha.6 → 5.0.0-alpha.8

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 (48) hide show
  1. package/build/lib/devtools/devtools.esm.js +46 -7
  2. package/build/lib/devtools/devtools.esm.js.map +1 -1
  3. package/build/lib/devtools/devtools.js +46 -7
  4. package/build/lib/devtools/devtools.js.map +1 -1
  5. package/build/lib/devtools/devtools.mjs +46 -7
  6. package/build/lib/devtools/devtools.mjs.map +1 -1
  7. package/build/lib/devtools/utils.esm.js +0 -1
  8. package/build/lib/devtools/utils.esm.js.map +1 -1
  9. package/build/lib/devtools/utils.js +0 -1
  10. package/build/lib/devtools/utils.js.map +1 -1
  11. package/build/lib/devtools/utils.mjs +0 -1
  12. package/build/lib/devtools/utils.mjs.map +1 -1
  13. package/build/lib/index.d.ts +2 -2
  14. package/build/lib/index.esm.js +1 -1
  15. package/build/lib/index.js +3 -2
  16. package/build/lib/index.js.map +1 -1
  17. package/build/lib/index.mjs +1 -1
  18. package/build/lib/useMutationState.d.ts +11 -0
  19. package/build/lib/useMutationState.esm.js +33 -0
  20. package/build/lib/useMutationState.esm.js.map +1 -0
  21. package/build/lib/useMutationState.js +36 -0
  22. package/build/lib/useMutationState.js.map +1 -0
  23. package/build/lib/useMutationState.mjs +33 -0
  24. package/build/lib/useMutationState.mjs.map +1 -0
  25. package/build/lib/useQueries.esm.js +2 -2
  26. package/build/lib/useQueries.esm.js.map +1 -1
  27. package/build/lib/useQueries.js +2 -2
  28. package/build/lib/useQueries.js.map +1 -1
  29. package/build/lib/useQueries.mjs +2 -2
  30. package/build/lib/useQueries.mjs.map +1 -1
  31. package/build/lib/vueQueryPlugin.esm.js +0 -2
  32. package/build/lib/vueQueryPlugin.esm.js.map +1 -1
  33. package/build/lib/vueQueryPlugin.js +0 -2
  34. package/build/lib/vueQueryPlugin.js.map +1 -1
  35. package/build/lib/vueQueryPlugin.mjs +0 -2
  36. package/build/lib/vueQueryPlugin.mjs.map +1 -1
  37. package/build/umd/index.development.js +68 -23
  38. package/build/umd/index.development.js.map +1 -1
  39. package/build/umd/index.production.js +1 -1
  40. package/build/umd/index.production.js.map +1 -1
  41. package/package.json +3 -3
  42. package/build/lib/useIsMutating.d.ts +0 -6
  43. package/build/lib/useIsMutating.esm.js +0 -24
  44. package/build/lib/useIsMutating.esm.js.map +0 -1
  45. package/build/lib/useIsMutating.js +0 -26
  46. package/build/lib/useIsMutating.js.map +0 -1
  47. package/build/lib/useIsMutating.mjs +0 -24
  48. package/build/lib/useIsMutating.mjs.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { setupDevtoolsPlugin } from '@vue/devtools-api';
2
2
  import { rankItem } from '@tanstack/match-sorter-utils';
3
+ import { onlineManager } from '@tanstack/query-core';
3
4
  import { sortFns, getQueryStateLabel, getQueryStatusFg, getQueryStatusBg } from './utils.esm.js';
4
5
 
5
- /* istanbul ignore file */
6
6
  const pluginId = 'vue-query';
7
7
  const pluginName = 'Vue Query';
8
8
  function setupDevtools(app, queryClient) {
@@ -10,8 +10,8 @@ function setupDevtools(app, queryClient) {
10
10
  id: pluginId,
11
11
  label: pluginName,
12
12
  packageName: 'vue-query',
13
- homepage: 'https://tanstack.com/query/v4',
14
- logo: 'https://vue-query.vercel.app/vue-query.svg',
13
+ homepage: 'https://tanstack.com/query/latest',
14
+ logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg',
15
15
  app,
16
16
  settings: {
17
17
  baseSort: {
@@ -35,16 +35,31 @@ function setupDevtools(app, queryClient) {
35
35
  value: key
36
36
  })),
37
37
  defaultValue: Object.keys(sortFns)[0]
38
+ },
39
+ onlineMode: {
40
+ type: 'choice',
41
+ component: 'button-group',
42
+ label: 'Online mode',
43
+ options: [{
44
+ label: 'Online',
45
+ value: 1
46
+ }, {
47
+ label: 'Offline',
48
+ value: 0
49
+ }],
50
+ defaultValue: 1
38
51
  }
39
52
  }
40
53
  }, api => {
54
+ const initialSettings = api.getSettings();
55
+ onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()));
41
56
  const queryCache = queryClient.getQueryCache();
42
57
  api.addInspector({
43
58
  id: pluginId,
44
59
  label: pluginName,
45
60
  icon: 'api',
46
61
  nodeActions: [{
47
- icon: 'cloud_download',
62
+ icon: 'file_download',
48
63
  tooltip: 'Refetch',
49
64
  action: queryHash => {
50
65
  var _queryCache$get;
@@ -71,6 +86,27 @@ function setupDevtools(app, queryClient) {
71
86
  const query = queryCache.get(queryHash);
72
87
  queryCache.remove(query);
73
88
  }
89
+ }, {
90
+ icon: 'hourglass_empty',
91
+ tooltip: 'Force loading',
92
+ action: queryHash => {
93
+ const query = queryCache.get(queryHash);
94
+ query.setState({
95
+ data: undefined,
96
+ status: 'pending'
97
+ });
98
+ }
99
+ }, {
100
+ icon: 'error_outline',
101
+ tooltip: 'Force error',
102
+ action: queryHash => {
103
+ const query = queryCache.get(queryHash);
104
+ query.setState({
105
+ data: undefined,
106
+ status: 'error',
107
+ error: new Error('Unknown error from devtools')
108
+ });
109
+ }
74
110
  }]
75
111
  });
76
112
  api.addTimelineLayer({
@@ -81,9 +117,7 @@ function setupDevtools(app, queryClient) {
81
117
  queryCache.subscribe(event => {
82
118
  api.sendInspectorTree(pluginId);
83
119
  api.sendInspectorState(pluginId);
84
- if (
85
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
86
- event && ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)) {
120
+ if (['added', 'removed', 'updated'].includes(event.type)) {
87
121
  api.addTimelineEvent({
88
122
  layerId: pluginId,
89
123
  event: {
@@ -98,6 +132,11 @@ function setupDevtools(app, queryClient) {
98
132
  });
99
133
  }
100
134
  });
135
+ api.on.setPluginSettings(payload => {
136
+ if (payload.key === 'onlineMode') {
137
+ onlineManager.setOnline(Boolean(payload.newValue));
138
+ }
139
+ });
101
140
  api.on.getInspectorTree(payload => {
102
141
  if (payload.inspectorId === pluginId) {
103
142
  const queries = queryCache.getAll();
@@ -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)\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,\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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"}
1
+ {"version":3,"file":"devtools.esm.js","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["import { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport { onlineManager } from '@tanstack/query-core'\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/latest',\n logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/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 onlineMode: {\n type: 'choice',\n component: 'button-group',\n label: 'Online mode',\n options: [\n {\n label: 'Online',\n value: 1,\n },\n {\n label: 'Offline',\n value: 0,\n },\n ],\n defaultValue: 1,\n },\n },\n },\n (api) => {\n const initialSettings = api.getSettings()\n onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()))\n\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'file_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 icon: 'hourglass_empty',\n tooltip: 'Force loading',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'pending',\n })\n },\n },\n {\n icon: 'error_outline',\n tooltip: 'Force error',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'error',\n error: new Error('Unknown error from devtools'),\n })\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 (['added', 'removed', 'updated'].includes(event.type)) {\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.setPluginSettings((payload) => {\n if (payload.key === 'onlineMode') {\n onlineManager.setOnline(Boolean(payload.newValue))\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,\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","onlineMode","api","initialSettings","getSettings","onlineManager","setOnline","Boolean","valueOf","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","reset","remove","setState","data","undefined","status","error","Error","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","on","setPluginSettings","payload","newValue","getInspectorTree","inspectorId","queries","getAll","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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"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  var devtoolsApi = require('@vue/devtools-api');
4
4
  var matchSorterUtils = require('@tanstack/match-sorter-utils');
5
+ var queryCore = require('@tanstack/query-core');
5
6
  var utils = require('./utils.js');
6
7
 
7
- /* istanbul ignore file */
8
8
  const pluginId = 'vue-query';
9
9
  const pluginName = 'Vue Query';
10
10
  function setupDevtools(app, queryClient) {
@@ -12,8 +12,8 @@ function setupDevtools(app, queryClient) {
12
12
  id: pluginId,
13
13
  label: pluginName,
14
14
  packageName: 'vue-query',
15
- homepage: 'https://tanstack.com/query/v4',
16
- logo: 'https://vue-query.vercel.app/vue-query.svg',
15
+ homepage: 'https://tanstack.com/query/latest',
16
+ logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg',
17
17
  app,
18
18
  settings: {
19
19
  baseSort: {
@@ -37,16 +37,31 @@ function setupDevtools(app, queryClient) {
37
37
  value: key
38
38
  })),
39
39
  defaultValue: Object.keys(utils.sortFns)[0]
40
+ },
41
+ onlineMode: {
42
+ type: 'choice',
43
+ component: 'button-group',
44
+ label: 'Online mode',
45
+ options: [{
46
+ label: 'Online',
47
+ value: 1
48
+ }, {
49
+ label: 'Offline',
50
+ value: 0
51
+ }],
52
+ defaultValue: 1
40
53
  }
41
54
  }
42
55
  }, api => {
56
+ const initialSettings = api.getSettings();
57
+ queryCore.onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()));
43
58
  const queryCache = queryClient.getQueryCache();
44
59
  api.addInspector({
45
60
  id: pluginId,
46
61
  label: pluginName,
47
62
  icon: 'api',
48
63
  nodeActions: [{
49
- icon: 'cloud_download',
64
+ icon: 'file_download',
50
65
  tooltip: 'Refetch',
51
66
  action: queryHash => {
52
67
  var _queryCache$get;
@@ -73,6 +88,27 @@ function setupDevtools(app, queryClient) {
73
88
  const query = queryCache.get(queryHash);
74
89
  queryCache.remove(query);
75
90
  }
91
+ }, {
92
+ icon: 'hourglass_empty',
93
+ tooltip: 'Force loading',
94
+ action: queryHash => {
95
+ const query = queryCache.get(queryHash);
96
+ query.setState({
97
+ data: undefined,
98
+ status: 'pending'
99
+ });
100
+ }
101
+ }, {
102
+ icon: 'error_outline',
103
+ tooltip: 'Force error',
104
+ action: queryHash => {
105
+ const query = queryCache.get(queryHash);
106
+ query.setState({
107
+ data: undefined,
108
+ status: 'error',
109
+ error: new Error('Unknown error from devtools')
110
+ });
111
+ }
76
112
  }]
77
113
  });
78
114
  api.addTimelineLayer({
@@ -83,9 +119,7 @@ function setupDevtools(app, queryClient) {
83
119
  queryCache.subscribe(event => {
84
120
  api.sendInspectorTree(pluginId);
85
121
  api.sendInspectorState(pluginId);
86
- if (
87
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
88
- event && ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)) {
122
+ if (['added', 'removed', 'updated'].includes(event.type)) {
89
123
  api.addTimelineEvent({
90
124
  layerId: pluginId,
91
125
  event: {
@@ -100,6 +134,11 @@ function setupDevtools(app, queryClient) {
100
134
  });
101
135
  }
102
136
  });
137
+ api.on.setPluginSettings(payload => {
138
+ if (payload.key === 'onlineMode') {
139
+ queryCore.onlineManager.setOnline(Boolean(payload.newValue));
140
+ }
141
+ });
103
142
  api.on.getInspectorTree(payload => {
104
143
  if (payload.inspectorId === pluginId) {
105
144
  const queries = queryCache.getAll();
@@ -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)\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,\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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"}
1
+ {"version":3,"file":"devtools.js","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["import { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport { onlineManager } from '@tanstack/query-core'\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/latest',\n logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/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 onlineMode: {\n type: 'choice',\n component: 'button-group',\n label: 'Online mode',\n options: [\n {\n label: 'Online',\n value: 1,\n },\n {\n label: 'Offline',\n value: 0,\n },\n ],\n defaultValue: 1,\n },\n },\n },\n (api) => {\n const initialSettings = api.getSettings()\n onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()))\n\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'file_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 icon: 'hourglass_empty',\n tooltip: 'Force loading',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'pending',\n })\n },\n },\n {\n icon: 'error_outline',\n tooltip: 'Force error',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'error',\n error: new Error('Unknown error from devtools'),\n })\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 (['added', 'removed', 'updated'].includes(event.type)) {\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.setPluginSettings((payload) => {\n if (payload.key === 'onlineMode') {\n onlineManager.setOnline(Boolean(payload.newValue))\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,\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","onlineMode","api","initialSettings","getSettings","onlineManager","setOnline","Boolean","valueOf","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","reset","remove","setState","data","undefined","status","error","Error","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","on","setPluginSettings","payload","newValue","getInspectorTree","inspectorId","queries","getAll","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,8 +1,8 @@
1
1
  import { setupDevtoolsPlugin } from '@vue/devtools-api';
2
2
  import { rankItem } from '@tanstack/match-sorter-utils';
3
+ import { onlineManager } from '@tanstack/query-core';
3
4
  import { sortFns, getQueryStateLabel, getQueryStatusFg, getQueryStatusBg } from './utils.mjs';
4
5
 
5
- /* istanbul ignore file */
6
6
  const pluginId = 'vue-query';
7
7
  const pluginName = 'Vue Query';
8
8
  function setupDevtools(app, queryClient) {
@@ -10,8 +10,8 @@ function setupDevtools(app, queryClient) {
10
10
  id: pluginId,
11
11
  label: pluginName,
12
12
  packageName: 'vue-query',
13
- homepage: 'https://tanstack.com/query/v4',
14
- logo: 'https://vue-query.vercel.app/vue-query.svg',
13
+ homepage: 'https://tanstack.com/query/latest',
14
+ logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg',
15
15
  app,
16
16
  settings: {
17
17
  baseSort: {
@@ -35,16 +35,31 @@ function setupDevtools(app, queryClient) {
35
35
  value: key
36
36
  })),
37
37
  defaultValue: Object.keys(sortFns)[0]
38
+ },
39
+ onlineMode: {
40
+ type: 'choice',
41
+ component: 'button-group',
42
+ label: 'Online mode',
43
+ options: [{
44
+ label: 'Online',
45
+ value: 1
46
+ }, {
47
+ label: 'Offline',
48
+ value: 0
49
+ }],
50
+ defaultValue: 1
38
51
  }
39
52
  }
40
53
  }, api => {
54
+ const initialSettings = api.getSettings();
55
+ onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()));
41
56
  const queryCache = queryClient.getQueryCache();
42
57
  api.addInspector({
43
58
  id: pluginId,
44
59
  label: pluginName,
45
60
  icon: 'api',
46
61
  nodeActions: [{
47
- icon: 'cloud_download',
62
+ icon: 'file_download',
48
63
  tooltip: 'Refetch',
49
64
  action: queryHash => {
50
65
  queryCache.get(queryHash)?.fetch();
@@ -69,6 +84,27 @@ function setupDevtools(app, queryClient) {
69
84
  const query = queryCache.get(queryHash);
70
85
  queryCache.remove(query);
71
86
  }
87
+ }, {
88
+ icon: 'hourglass_empty',
89
+ tooltip: 'Force loading',
90
+ action: queryHash => {
91
+ const query = queryCache.get(queryHash);
92
+ query.setState({
93
+ data: undefined,
94
+ status: 'pending'
95
+ });
96
+ }
97
+ }, {
98
+ icon: 'error_outline',
99
+ tooltip: 'Force error',
100
+ action: queryHash => {
101
+ const query = queryCache.get(queryHash);
102
+ query.setState({
103
+ data: undefined,
104
+ status: 'error',
105
+ error: new Error('Unknown error from devtools')
106
+ });
107
+ }
72
108
  }]
73
109
  });
74
110
  api.addTimelineLayer({
@@ -79,9 +115,7 @@ function setupDevtools(app, queryClient) {
79
115
  queryCache.subscribe(event => {
80
116
  api.sendInspectorTree(pluginId);
81
117
  api.sendInspectorState(pluginId);
82
- if (
83
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
84
- event && ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)) {
118
+ if (['added', 'removed', 'updated'].includes(event.type)) {
85
119
  api.addTimelineEvent({
86
120
  layerId: pluginId,
87
121
  event: {
@@ -96,6 +130,11 @@ function setupDevtools(app, queryClient) {
96
130
  });
97
131
  }
98
132
  });
133
+ api.on.setPluginSettings(payload => {
134
+ if (payload.key === 'onlineMode') {
135
+ onlineManager.setOnline(Boolean(payload.newValue));
136
+ }
137
+ });
99
138
  api.on.getInspectorTree(payload => {
100
139
  if (payload.inspectorId === pluginId) {
101
140
  const queries = queryCache.getAll();
@@ -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)\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,\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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"}
1
+ {"version":3,"file":"devtools.mjs","sources":["../../../src/devtools/devtools.ts"],"sourcesContent":["import { setupDevtoolsPlugin } from '@vue/devtools-api'\nimport type { CustomInspectorNode } from '@vue/devtools-api'\nimport { rankItem } from '@tanstack/match-sorter-utils'\nimport { onlineManager } from '@tanstack/query-core'\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/latest',\n logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/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 onlineMode: {\n type: 'choice',\n component: 'button-group',\n label: 'Online mode',\n options: [\n {\n label: 'Online',\n value: 1,\n },\n {\n label: 'Offline',\n value: 0,\n },\n ],\n defaultValue: 1,\n },\n },\n },\n (api) => {\n const initialSettings = api.getSettings()\n onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()))\n\n const queryCache = queryClient.getQueryCache()\n\n api.addInspector({\n id: pluginId,\n label: pluginName,\n icon: 'api',\n nodeActions: [\n {\n icon: 'file_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 icon: 'hourglass_empty',\n tooltip: 'Force loading',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'pending',\n })\n },\n },\n {\n icon: 'error_outline',\n tooltip: 'Force error',\n action: (queryHash: string) => {\n const query = queryCache.get(queryHash) as Query\n\n query.setState({\n data: undefined,\n status: 'error',\n error: new Error('Unknown error from devtools'),\n })\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 (['added', 'removed', 'updated'].includes(event.type)) {\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.setPluginSettings((payload) => {\n if (payload.key === 'onlineMode') {\n onlineManager.setOnline(Boolean(payload.newValue))\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,\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","onlineMode","api","initialSettings","getSettings","onlineManager","setOnline","Boolean","valueOf","queryCache","getQueryCache","addInspector","icon","nodeActions","tooltip","action","queryHash","get","fetch","query","invalidateQueries","reset","remove","setState","data","undefined","status","error","Error","addTimelineLayer","color","subscribe","event","sendInspectorTree","sendInspectorState","includes","addTimelineEvent","layerId","title","subtitle","time","now","on","setPluginSettings","payload","newValue","getInspectorTree","inspectorId","queries","getAll","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,4 +1,3 @@
1
- /* istanbul ignore file */
2
1
  // eslint-disable-next-line no-shadow
3
2
  var QueryState;
4
3
  (function (QueryState) {
@@ -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":["import 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,6 +1,5 @@
1
1
  'use strict';
2
2
 
3
- /* istanbul ignore file */
4
3
  // eslint-disable-next-line no-shadow
5
4
  var QueryState;
6
5
  (function (QueryState) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.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.js","sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import 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,4 +1,3 @@
1
- /* istanbul ignore file */
2
1
  // eslint-disable-next-line no-shadow
3
2
  var QueryState;
4
3
  (function (QueryState) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","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.mjs","sources":["../../../src/devtools/utils.ts"],"sourcesContent":["import 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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"}