@tanstack/vue-query 4.29.19 → 4.29.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/devtools/devtools.d.ts.map +1 -1
- package/build/lib/devtools/devtools.esm.js +2 -1
- package/build/lib/devtools/devtools.esm.js.map +1 -1
- package/build/lib/devtools/devtools.js +2 -1
- package/build/lib/devtools/devtools.js.map +1 -1
- package/build/lib/devtools/devtools.mjs +2 -1
- package/build/lib/devtools/devtools.mjs.map +1 -1
- package/build/lib/useBaseQuery.d.ts.map +1 -1
- package/build/lib/useBaseQuery.esm.js +8 -6
- package/build/lib/useBaseQuery.esm.js.map +1 -1
- package/build/lib/useBaseQuery.js +7 -5
- package/build/lib/useBaseQuery.js.map +1 -1
- package/build/lib/useBaseQuery.mjs +8 -6
- package/build/lib/useBaseQuery.mjs.map +1 -1
- package/build/lib/useQueries.d.ts.map +1 -1
- package/build/lib/useQueries.esm.js +8 -6
- package/build/lib/useQueries.esm.js.map +1 -1
- package/build/lib/useQueries.js +7 -5
- package/build/lib/useQueries.js.map +1 -1
- package/build/lib/useQueries.mjs +8 -6
- package/build/lib/useQueries.mjs.map +1 -1
- package/build/umd/index.development.js +16 -11
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../src/devtools/devtools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAWjD,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../src/devtools/devtools.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAWjD,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,QA+L/D"}
|
|
@@ -83,9 +83,10 @@ function setupDevtools(app, queryClient) {
|
|
|
83
83
|
queryCache.subscribe(event => {
|
|
84
84
|
api.sendInspectorTree(pluginId);
|
|
85
85
|
api.sendInspectorState(pluginId);
|
|
86
|
+
const queryEvents = ['added', 'removed', 'updated'];
|
|
86
87
|
|
|
87
88
|
if ( // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
88
|
-
event &&
|
|
89
|
+
event && queryEvents.includes(event.type)) {
|
|
89
90
|
api.addTimelineEvent({
|
|
90
91
|
layerId: pluginId,
|
|
91
92
|
event: {
|
|
@@ -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, QueryCacheNotifyEvent } 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 const queryEvents: QueryCacheNotifyEvent['type'][] = [\n 'added',\n 'removed',\n 'updated',\n ]\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n queryEvents.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","queryEvents","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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"}
|
|
@@ -87,9 +87,10 @@ function setupDevtools(app, queryClient) {
|
|
|
87
87
|
queryCache.subscribe(event => {
|
|
88
88
|
api.sendInspectorTree(pluginId);
|
|
89
89
|
api.sendInspectorState(pluginId);
|
|
90
|
+
const queryEvents = ['added', 'removed', 'updated'];
|
|
90
91
|
|
|
91
92
|
if ( // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
92
|
-
event &&
|
|
93
|
+
event && queryEvents.includes(event.type)) {
|
|
93
94
|
api.addTimelineEvent({
|
|
94
95
|
layerId: pluginId,
|
|
95
96
|
event: {
|
|
@@ -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":"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"}
|
|
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, QueryCacheNotifyEvent } 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 const queryEvents: QueryCacheNotifyEvent['type'][] = [\n 'added',\n 'removed',\n 'updated',\n ]\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n queryEvents.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","queryEvents","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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"}
|
|
@@ -83,9 +83,10 @@ function setupDevtools(app, queryClient) {
|
|
|
83
83
|
queryCache.subscribe(event => {
|
|
84
84
|
api.sendInspectorTree(pluginId);
|
|
85
85
|
api.sendInspectorState(pluginId);
|
|
86
|
+
const queryEvents = ['added', 'removed', 'updated'];
|
|
86
87
|
|
|
87
88
|
if ( // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
88
|
-
event &&
|
|
89
|
+
event && queryEvents.includes(event.type)) {
|
|
89
90
|
api.addTimelineEvent({
|
|
90
91
|
layerId: pluginId,
|
|
91
92
|
event: {
|
|
@@ -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":";;;;AAAA;AAcA,MAAMA,QAAQ,GAAG,WAAjB,CAAA;AACA,MAAMC,UAAU,GAAG,WAAnB,CAAA;AAEO,SAASC,aAAT,CAAuBC,GAAvB,EAAiCC,WAAjC,EAA2D;AAChEC,EAAAA,mBAAmB,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,OAAZ,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,OAAZ,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,QAAQ,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,OAAO,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,kBAAkB,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,gBAAgB,CAACzC,KAAD,CAF7B;cAGE0C,eAAe,EAAEC,gBAAgB,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,kBAAkB,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.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, QueryCacheNotifyEvent } 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 const queryEvents: QueryCacheNotifyEvent['type'][] = [\n 'added',\n 'removed',\n 'updated',\n ]\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n event &&\n queryEvents.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","queryEvents","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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../src/useBaseQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBaseQuery.d.ts","sourceRoot":"","sources":["../../src/useBaseQuery.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAEjE,oBAAY,kBAAkB,CAC5B,KAAK,EACL,MAAM,EACN,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,IACzC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG;IAC7B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAChC,CAAA;AAED,aAAK,sBAAsB,CACzB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,SAAS,QAAQ,GAAG,QAAQ,IAEnC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,GACvD,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAEnE,wBAAgB,YAAY,CAC1B,YAAY,EACZ,MAAM,EACN,KAAK,EACL,SAAS,SAAS,QAAQ,EAE1B,QAAQ,EAAE,OAAO,aAAa,EAC9B,IAAI,EACA,SAAS,GACT,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,EAClE,IAAI,GACA,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACjD,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAM,EACvE,IAAI,GAAE,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAM,GACxE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CA+EnC;AAED,wBAAgB,cAAc,CAC5B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,OAAO,EAChB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,EACzB,SAAS,SAAS,QAAQ,GAAG,QAAQ,EAErC,IAAI,EACA,QAAQ,CAAC,SAAS,CAAC,GACnB,QAAQ,CAAC,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAC5E,IAAI,GACA,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,GAC3D,QAAQ,CACN,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1D,EACV,IAAI,GAAE,QAAQ,CACZ,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAC1D,GACL,kBAAkB,CACnB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CACzE,CAkBA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, reactive,
|
|
1
|
+
import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
|
|
2
2
|
import { useQueryClient } from './useQueryClient.esm.js';
|
|
3
3
|
import { updateState, isQueryKey, cloneDeepUnref } from './utils.esm.js';
|
|
4
4
|
|
|
@@ -14,13 +14,15 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
14
14
|
});
|
|
15
15
|
const observer = new Observer(queryClient, defaultedOptions.value);
|
|
16
16
|
const state = reactive(observer.getCurrentResult());
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
|
|
18
|
+
let unsubscribe = () => {// noop
|
|
19
|
+
};
|
|
20
|
+
|
|
19
21
|
watch(queryClient.isRestoring, isRestoring => {
|
|
20
22
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
21
23
|
if (!isRestoring) {
|
|
22
|
-
unsubscribe
|
|
23
|
-
unsubscribe
|
|
24
|
+
unsubscribe();
|
|
25
|
+
unsubscribe = observer.subscribe(result => {
|
|
24
26
|
updateState(state, result);
|
|
25
27
|
});
|
|
26
28
|
}
|
|
@@ -34,7 +36,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
34
36
|
deep: true
|
|
35
37
|
});
|
|
36
38
|
onScopeDispose(() => {
|
|
37
|
-
unsubscribe
|
|
39
|
+
unsubscribe();
|
|
38
40
|
});
|
|
39
41
|
|
|
40
42
|
const suspense = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n onScopeDispose,\n toRefs,\n readonly,\n reactive,\n watch,\n
|
|
1
|
+
{"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n onScopeDispose,\n toRefs,\n readonly,\n reactive,\n watch,\n computed,\n unref,\n} from 'vue-demi'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryObserver,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n QueryFunction,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { updateState, isQueryKey, cloneDeepUnref } from './utils'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n resolve(observer.fetchOptimistic(defaultedOptions.value))\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n })\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","deep","onScopeDispose","suspense","Promise","resolve","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -18,13 +18,15 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
18
18
|
});
|
|
19
19
|
const observer = new Observer(queryClient, defaultedOptions.value);
|
|
20
20
|
const state = vueDemi.reactive(observer.getCurrentResult());
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
|
|
22
|
+
let unsubscribe = () => {// noop
|
|
23
|
+
};
|
|
24
|
+
|
|
23
25
|
vueDemi.watch(queryClient.isRestoring, isRestoring => {
|
|
24
26
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
25
27
|
if (!isRestoring) {
|
|
26
|
-
unsubscribe
|
|
27
|
-
unsubscribe
|
|
28
|
+
unsubscribe();
|
|
29
|
+
unsubscribe = observer.subscribe(result => {
|
|
28
30
|
utils.updateState(state, result);
|
|
29
31
|
});
|
|
30
32
|
}
|
|
@@ -38,7 +40,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
38
40
|
deep: true
|
|
39
41
|
});
|
|
40
42
|
vueDemi.onScopeDispose(() => {
|
|
41
|
-
unsubscribe
|
|
43
|
+
unsubscribe();
|
|
42
44
|
});
|
|
43
45
|
|
|
44
46
|
const suspense = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n onScopeDispose,\n toRefs,\n readonly,\n reactive,\n watch,\n
|
|
1
|
+
{"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n onScopeDispose,\n toRefs,\n readonly,\n reactive,\n watch,\n computed,\n unref,\n} from 'vue-demi'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryObserver,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n QueryFunction,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { updateState, isQueryKey, cloneDeepUnref } from './utils'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n resolve(observer.fetchOptimistic(defaultedOptions.value))\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n })\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","deep","onScopeDispose","suspense","Promise","resolve","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, reactive,
|
|
1
|
+
import { computed, reactive, watch, onScopeDispose, toRefs, readonly, unref } from 'vue-demi';
|
|
2
2
|
import { useQueryClient } from './useQueryClient.mjs';
|
|
3
3
|
import { updateState, isQueryKey, cloneDeepUnref } from './utils.mjs';
|
|
4
4
|
|
|
@@ -14,13 +14,15 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
14
14
|
});
|
|
15
15
|
const observer = new Observer(queryClient, defaultedOptions.value);
|
|
16
16
|
const state = reactive(observer.getCurrentResult());
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
|
|
18
|
+
let unsubscribe = () => {// noop
|
|
19
|
+
};
|
|
20
|
+
|
|
19
21
|
watch(queryClient.isRestoring, isRestoring => {
|
|
20
22
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
21
23
|
if (!isRestoring) {
|
|
22
|
-
unsubscribe
|
|
23
|
-
unsubscribe
|
|
24
|
+
unsubscribe();
|
|
25
|
+
unsubscribe = observer.subscribe(result => {
|
|
24
26
|
updateState(state, result);
|
|
25
27
|
});
|
|
26
28
|
}
|
|
@@ -34,7 +36,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
|
|
|
34
36
|
deep: true
|
|
35
37
|
});
|
|
36
38
|
onScopeDispose(() => {
|
|
37
|
-
unsubscribe
|
|
39
|
+
unsubscribe();
|
|
38
40
|
});
|
|
39
41
|
|
|
40
42
|
const suspense = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n onScopeDispose,\n toRefs,\n readonly,\n reactive,\n watch,\n
|
|
1
|
+
{"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n onScopeDispose,\n toRefs,\n readonly,\n reactive,\n watch,\n computed,\n unref,\n} from 'vue-demi'\nimport type { ToRefs, UnwrapRef } from 'vue-demi'\nimport type {\n QueryObserver,\n QueryKey,\n QueryObserverOptions,\n QueryObserverResult,\n QueryFunction,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { updateState, isQueryKey, cloneDeepUnref } from './utils'\nimport type { MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | TQueryKey\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>,\n arg2:\n | QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>\n | UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n arg3: UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey> = {},\n): UseQueryReturnType<TData, TError> {\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n resolve(observer.fetchOptimistic(defaultedOptions.value))\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n })\n }\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, UnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","deep","onScopeDispose","suspense","Promise","resolve","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../src/useQueries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useQueries.d.ts","sourceRoot":"","sources":["../../src/useQueries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { QueriesObserver } from '@tanstack/query-core';
|
|
2
|
-
import { computed, reactive,
|
|
2
|
+
import { computed, reactive, watch, onScopeDispose, readonly } from 'vue-demi';
|
|
3
3
|
import { useQueryClient } from './useQueryClient.esm.js';
|
|
4
4
|
import { cloneDeepUnref } from './utils.esm.js';
|
|
5
5
|
|
|
@@ -26,12 +26,14 @@ function useQueries({
|
|
|
26
26
|
}));
|
|
27
27
|
const observer = new QueriesObserver(queryClient, defaultedQueries.value);
|
|
28
28
|
const state = reactive(observer.getCurrentResult());
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
|
|
30
|
+
let unsubscribe = () => {// noop
|
|
31
|
+
};
|
|
32
|
+
|
|
31
33
|
watch(queryClient.isRestoring, isRestoring => {
|
|
32
34
|
if (!isRestoring) {
|
|
33
|
-
unsubscribe
|
|
34
|
-
unsubscribe
|
|
35
|
+
unsubscribe();
|
|
36
|
+
unsubscribe = observer.subscribe(result => {
|
|
35
37
|
state.splice(0, result.length, ...result);
|
|
36
38
|
}); // Subscription would not fire for persisted results
|
|
37
39
|
|
|
@@ -47,7 +49,7 @@ function useQueries({
|
|
|
47
49
|
deep: true
|
|
48
50
|
});
|
|
49
51
|
onScopeDispose(() => {
|
|
50
|
-
unsubscribe
|
|
52
|
+
unsubscribe();
|
|
51
53
|
});
|
|
52
54
|
return readonly(state);
|
|
53
55
|
}
|