@tanstack/vue-query 5.0.0-alpha.49 → 5.0.0-alpha.50

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 (46) hide show
  1. package/build/lib/devtools/devtools.js +2 -4
  2. package/build/lib/devtools/devtools.js.map +1 -1
  3. package/build/lib/queryClient.js +1 -1
  4. package/build/lib/queryClient.js.map +1 -1
  5. package/build/lib/useQueryClient.js +1 -2
  6. package/build/lib/useQueryClient.js.map +1 -1
  7. package/package.json +2 -2
  8. package/src/__mocks__/useBaseQuery.ts +8 -0
  9. package/src/__mocks__/useQueryClient.ts +10 -0
  10. package/src/__tests__/mutationCache.test.ts +40 -0
  11. package/src/__tests__/queryCache.test.ts +48 -0
  12. package/src/__tests__/queryClient.test.ts +365 -0
  13. package/src/__tests__/test-utils.ts +62 -0
  14. package/src/__tests__/useInfiniteQuery.test.ts +37 -0
  15. package/src/__tests__/useInfiniteQuery.types.test.tsx +102 -0
  16. package/src/__tests__/useIsFetching.test.ts +77 -0
  17. package/src/__tests__/useIsMutating.test.ts +123 -0
  18. package/src/__tests__/useMutation.test.ts +335 -0
  19. package/src/__tests__/useMutation.types.test.tsx +97 -0
  20. package/src/__tests__/useQueries.test.ts +256 -0
  21. package/src/__tests__/useQuery.test.ts +290 -0
  22. package/src/__tests__/useQuery.types.test.tsx +88 -0
  23. package/src/__tests__/useQueryClient.test.ts +51 -0
  24. package/src/__tests__/utils.test.ts +148 -0
  25. package/src/__tests__/vueQueryPlugin.test.ts +351 -0
  26. package/src/devtools/devtools.ts +249 -0
  27. package/src/devtools/utils.ts +96 -0
  28. package/src/index.ts +30 -0
  29. package/src/mutationCache.ts +25 -0
  30. package/src/queryCache.ts +21 -0
  31. package/src/queryClient.ts +278 -0
  32. package/src/types.ts +17 -0
  33. package/src/useBaseQuery.ts +152 -0
  34. package/src/useInfiniteQuery.ts +105 -0
  35. package/src/useIsFetching.ts +37 -0
  36. package/src/useMutation.ts +109 -0
  37. package/src/useMutationState.ts +73 -0
  38. package/src/useQueries.ts +227 -0
  39. package/src/useQuery.ts +125 -0
  40. package/src/useQueryClient.ts +23 -0
  41. package/src/utils.ts +67 -0
  42. package/src/vueQueryPlugin.ts +101 -0
  43. package/build/umd/index.development.js +0 -4260
  44. package/build/umd/index.development.js.map +0 -1
  45. package/build/umd/index.production.js +0 -2
  46. package/build/umd/index.production.js.map +0 -1
@@ -0,0 +1,249 @@
1
+ import { setupDevtoolsPlugin } from '@vue/devtools-api'
2
+ import type { CustomInspectorNode } from '@vue/devtools-api'
3
+ import { rankItem } from '@tanstack/match-sorter-utils'
4
+ import { onlineManager } from '@tanstack/query-core'
5
+ import type { Query } from '@tanstack/query-core'
6
+ import type { QueryClient } from '../queryClient'
7
+ import {
8
+ getQueryStateLabel,
9
+ getQueryStatusBg,
10
+ getQueryStatusFg,
11
+ sortFns,
12
+ } from './utils'
13
+
14
+ const pluginId = 'vue-query'
15
+ const pluginName = 'Vue Query'
16
+
17
+ export function setupDevtools(app: any, queryClient: QueryClient) {
18
+ setupDevtoolsPlugin(
19
+ {
20
+ id: pluginId,
21
+ label: pluginName,
22
+ packageName: 'vue-query',
23
+ homepage: 'https://tanstack.com/query/latest',
24
+ logo: 'https://raw.githubusercontent.com/TanStack/query/main/packages/vue-query/media/vue-query.svg',
25
+ app,
26
+ settings: {
27
+ baseSort: {
28
+ type: 'choice',
29
+ component: 'button-group',
30
+ label: 'Sort Cache Entries',
31
+ options: [
32
+ {
33
+ label: 'ASC',
34
+ value: 1,
35
+ },
36
+ {
37
+ label: 'DESC',
38
+ value: -1,
39
+ },
40
+ ],
41
+ defaultValue: 1,
42
+ },
43
+ sortFn: {
44
+ type: 'choice',
45
+ label: 'Sort Function',
46
+ options: Object.keys(sortFns).map((key) => ({
47
+ label: key,
48
+ value: key,
49
+ })),
50
+ defaultValue: Object.keys(sortFns)[0]!,
51
+ },
52
+ onlineMode: {
53
+ type: 'choice',
54
+ component: 'button-group',
55
+ label: 'Online mode',
56
+ options: [
57
+ {
58
+ label: 'Online',
59
+ value: 1,
60
+ },
61
+ {
62
+ label: 'Offline',
63
+ value: 0,
64
+ },
65
+ ],
66
+ defaultValue: 1,
67
+ },
68
+ },
69
+ },
70
+ (api) => {
71
+ const initialSettings = api.getSettings()
72
+ onlineManager.setOnline(Boolean(initialSettings.onlineMode.valueOf()))
73
+
74
+ const queryCache = queryClient.getQueryCache()
75
+
76
+ api.addInspector({
77
+ id: pluginId,
78
+ label: pluginName,
79
+ icon: 'api',
80
+ nodeActions: [
81
+ {
82
+ icon: 'file_download',
83
+ tooltip: 'Refetch',
84
+ action: (queryHash: string) => {
85
+ queryCache.get(queryHash)?.fetch()
86
+ },
87
+ },
88
+ {
89
+ icon: 'alarm',
90
+ tooltip: 'Invalidate',
91
+ action: (queryHash: string) => {
92
+ const query = queryCache.get(queryHash) as Query
93
+ queryClient.invalidateQueries(query)
94
+ },
95
+ },
96
+ {
97
+ icon: 'settings_backup_restore',
98
+ tooltip: 'Reset',
99
+ action: (queryHash: string) => {
100
+ queryCache.get(queryHash)?.reset()
101
+ },
102
+ },
103
+ {
104
+ icon: 'delete',
105
+ tooltip: 'Remove',
106
+ action: (queryHash: string) => {
107
+ const query = queryCache.get(queryHash) as Query
108
+ queryCache.remove(query)
109
+ },
110
+ },
111
+ {
112
+ icon: 'hourglass_empty',
113
+ tooltip: 'Force loading',
114
+ action: (queryHash: string) => {
115
+ const query = queryCache.get(queryHash) as Query
116
+
117
+ query.setState({
118
+ data: undefined,
119
+ status: 'pending',
120
+ })
121
+ },
122
+ },
123
+ {
124
+ icon: 'error_outline',
125
+ tooltip: 'Force error',
126
+ action: (queryHash: string) => {
127
+ const query = queryCache.get(queryHash) as Query
128
+
129
+ query.setState({
130
+ data: undefined,
131
+ status: 'error',
132
+ error: new Error('Unknown error from devtools'),
133
+ })
134
+ },
135
+ },
136
+ ],
137
+ })
138
+
139
+ api.addTimelineLayer({
140
+ id: pluginId,
141
+ label: pluginName,
142
+ color: 0xffd94c,
143
+ })
144
+
145
+ queryCache.subscribe((event) => {
146
+ api.sendInspectorTree(pluginId)
147
+ api.sendInspectorState(pluginId)
148
+
149
+ if (['added', 'removed', 'updated'].includes(event.type)) {
150
+ api.addTimelineEvent({
151
+ layerId: pluginId,
152
+ event: {
153
+ title: event.type,
154
+ subtitle: event.query.queryHash,
155
+ time: api.now(),
156
+ data: {
157
+ queryHash: event.query.queryHash,
158
+ ...event,
159
+ },
160
+ },
161
+ })
162
+ }
163
+ })
164
+
165
+ api.on.setPluginSettings((payload) => {
166
+ if (payload.key === 'onlineMode') {
167
+ onlineManager.setOnline(Boolean(payload.newValue))
168
+ }
169
+ })
170
+
171
+ api.on.getInspectorTree((payload) => {
172
+ if (payload.inspectorId === pluginId) {
173
+ const queries = queryCache.getAll()
174
+ const settings = api.getSettings()
175
+
176
+ const filtered = payload.filter
177
+ ? queries.filter(
178
+ (item) => rankItem(item.queryHash, payload.filter).passed,
179
+ )
180
+ : [...queries]
181
+
182
+ const sorted = filtered.sort(
183
+ (a, b) => sortFns[settings.sortFn]!(a, b) * settings.baseSort,
184
+ )
185
+
186
+ const nodes: CustomInspectorNode[] = sorted.map((query) => {
187
+ const stateLabel = getQueryStateLabel(query)
188
+
189
+ return {
190
+ id: query.queryHash,
191
+ label: query.queryHash,
192
+ tags: [
193
+ {
194
+ label: `${stateLabel} [${query.getObserversCount()}]`,
195
+ textColor: getQueryStatusFg(query),
196
+ backgroundColor: getQueryStatusBg(query),
197
+ },
198
+ ],
199
+ }
200
+ })
201
+ payload.rootNodes = nodes
202
+ }
203
+ })
204
+
205
+ api.on.getInspectorState((payload) => {
206
+ if (payload.inspectorId === pluginId) {
207
+ const query = queryCache.get(payload.nodeId)
208
+
209
+ if (!query) {
210
+ return
211
+ }
212
+
213
+ payload.state = {
214
+ ' Query Details': [
215
+ {
216
+ key: 'Query key',
217
+ value: query.queryHash,
218
+ },
219
+ {
220
+ key: 'Query status',
221
+ value: getQueryStateLabel(query),
222
+ },
223
+ {
224
+ key: 'Observers',
225
+ value: query.getObserversCount(),
226
+ },
227
+ {
228
+ key: 'Last Updated',
229
+ value: new Date(query.state.dataUpdatedAt).toLocaleTimeString(),
230
+ },
231
+ ],
232
+ 'Data Explorer': [
233
+ {
234
+ key: 'Data',
235
+ value: query.state.data,
236
+ },
237
+ ],
238
+ 'Query Explorer': [
239
+ {
240
+ key: 'Query',
241
+ value: query,
242
+ },
243
+ ],
244
+ }
245
+ }
246
+ })
247
+ },
248
+ )
249
+ }
@@ -0,0 +1,96 @@
1
+ import type { Query } from '@tanstack/query-core'
2
+
3
+ type SortFn = (a: Query, b: Query) => number
4
+
5
+ // eslint-disable-next-line no-shadow
6
+ enum QueryState {
7
+ Fetching = 0,
8
+ Fresh,
9
+ Stale,
10
+ Inactive,
11
+ Paused,
12
+ }
13
+
14
+ export function getQueryState(query: Query): QueryState {
15
+ if (query.state.fetchStatus === 'fetching') {
16
+ return QueryState.Fetching
17
+ }
18
+ if (query.state.fetchStatus === 'paused') {
19
+ return QueryState.Paused
20
+ }
21
+ if (!query.getObserversCount()) {
22
+ return QueryState.Inactive
23
+ }
24
+ if (query.isStale()) {
25
+ return QueryState.Stale
26
+ }
27
+
28
+ return QueryState.Fresh
29
+ }
30
+
31
+ export function getQueryStateLabel(query: Query): string {
32
+ const queryState = getQueryState(query)
33
+
34
+ if (queryState === QueryState.Fetching) {
35
+ return 'fetching'
36
+ }
37
+ if (queryState === QueryState.Paused) {
38
+ return 'paused'
39
+ }
40
+ if (queryState === QueryState.Stale) {
41
+ return 'stale'
42
+ }
43
+ if (queryState === QueryState.Inactive) {
44
+ return 'inactive'
45
+ }
46
+
47
+ return 'fresh'
48
+ }
49
+
50
+ export function getQueryStatusFg(query: Query): number {
51
+ const queryState = getQueryState(query)
52
+
53
+ if (queryState === QueryState.Stale) {
54
+ return 0x000000
55
+ }
56
+
57
+ return 0xffffff
58
+ }
59
+
60
+ export function getQueryStatusBg(query: Query): number {
61
+ const queryState = getQueryState(query)
62
+
63
+ if (queryState === QueryState.Fetching) {
64
+ return 0x006bff
65
+ }
66
+ if (queryState === QueryState.Paused) {
67
+ return 0x8c49eb
68
+ }
69
+ if (queryState === QueryState.Stale) {
70
+ return 0xffb200
71
+ }
72
+ if (queryState === QueryState.Inactive) {
73
+ return 0x3f4e60
74
+ }
75
+
76
+ return 0x008327
77
+ }
78
+
79
+ const queryHashSort: SortFn = (a, b) => a.queryHash.localeCompare(b.queryHash)
80
+
81
+ const dateSort: SortFn = (a, b) =>
82
+ a.state.dataUpdatedAt < b.state.dataUpdatedAt ? 1 : -1
83
+
84
+ const statusAndDateSort: SortFn = (a, b) => {
85
+ if (getQueryState(a) === getQueryState(b)) {
86
+ return dateSort(a, b)
87
+ }
88
+
89
+ return getQueryState(a) > getQueryState(b) ? 1 : -1
90
+ }
91
+
92
+ export const sortFns: Record<string, SortFn> = {
93
+ 'Status > Last Updated': statusAndDateSort,
94
+ 'Query Hash': queryHashSort,
95
+ 'Last Updated': dateSort,
96
+ }
package/src/index.ts ADDED
@@ -0,0 +1,30 @@
1
+ export * from '@tanstack/query-core'
2
+
3
+ export { useQueryClient } from './useQueryClient'
4
+ export { VueQueryPlugin } from './vueQueryPlugin'
5
+
6
+ export { QueryClient } from './queryClient'
7
+ export { QueryCache } from './queryCache'
8
+ export { MutationCache } from './mutationCache'
9
+ export { useQuery } from './useQuery'
10
+ export { useQueries } from './useQueries'
11
+ export { useInfiniteQuery } from './useInfiniteQuery'
12
+ export { useMutation } from './useMutation'
13
+ export { useIsFetching } from './useIsFetching'
14
+ export { useIsMutating, useMutationState } from './useMutationState'
15
+ export { VUE_QUERY_CLIENT } from './utils'
16
+
17
+ export type {
18
+ UseQueryOptions,
19
+ UseQueryReturnType,
20
+ UseQueryDefinedReturnType,
21
+ } from './useQuery'
22
+ export type {
23
+ UseInfiniteQueryOptions,
24
+ UseInfiniteQueryReturnType,
25
+ } from './useInfiniteQuery'
26
+ export type { UseMutationOptions, UseMutationReturnType } from './useMutation'
27
+ export type { UseQueriesOptions, UseQueriesResults } from './useQueries'
28
+ export type { MutationFilters, MutationStateOptions } from './useMutationState'
29
+ export type { QueryFilters } from './useIsFetching'
30
+ export type { VueQueryPluginOptions } from './vueQueryPlugin'
@@ -0,0 +1,25 @@
1
+ import { MutationCache as MC } from '@tanstack/query-core'
2
+ import type {
3
+ Mutation,
4
+ MutationFilters,
5
+ DefaultError,
6
+ } from '@tanstack/query-core'
7
+ import type { MaybeRefDeep } from './types'
8
+ import { cloneDeepUnref } from './utils'
9
+
10
+ export class MutationCache extends MC {
11
+ find<
12
+ TData = unknown,
13
+ TError = DefaultError,
14
+ TVariables = any,
15
+ TContext = unknown,
16
+ >(
17
+ filters: MaybeRefDeep<MutationFilters>,
18
+ ): Mutation<TData, TError, TVariables, TContext> | undefined {
19
+ return super.find(cloneDeepUnref(filters))
20
+ }
21
+
22
+ findAll(filters: MaybeRefDeep<MutationFilters> = {}): Mutation[] {
23
+ return super.findAll(cloneDeepUnref(filters))
24
+ }
25
+ }
@@ -0,0 +1,21 @@
1
+ import { QueryCache as QC } from '@tanstack/query-core'
2
+ import type {
3
+ Query,
4
+ QueryFilters,
5
+ WithRequired,
6
+ DefaultError,
7
+ } from '@tanstack/query-core'
8
+ import type { MaybeRefDeep } from './types'
9
+ import { cloneDeepUnref } from './utils'
10
+
11
+ export class QueryCache extends QC {
12
+ find<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData>(
13
+ filters: MaybeRefDeep<WithRequired<QueryFilters, 'queryKey'>>,
14
+ ): Query<TQueryFnData, TError, TData> | undefined {
15
+ return super.find(cloneDeepUnref(filters))
16
+ }
17
+
18
+ findAll(filters: MaybeRefDeep<QueryFilters> = {}): Query[] {
19
+ return super.findAll(cloneDeepUnref(filters))
20
+ }
21
+ }
@@ -0,0 +1,278 @@
1
+ import { ref } from 'vue-demi'
2
+ import { QueryClient as QC } from '@tanstack/query-core'
3
+ import type {
4
+ QueryKey,
5
+ QueryClientConfig,
6
+ SetDataOptions,
7
+ ResetOptions,
8
+ CancelOptions,
9
+ InvalidateQueryFilters,
10
+ InvalidateOptions,
11
+ RefetchQueryFilters,
12
+ RefetchOptions,
13
+ FetchQueryOptions,
14
+ FetchInfiniteQueryOptions,
15
+ InfiniteData,
16
+ DefaultOptions,
17
+ QueryObserverOptions,
18
+ MutationKey,
19
+ MutationObserverOptions,
20
+ QueryFilters,
21
+ MutationFilters,
22
+ QueryState,
23
+ Updater,
24
+ DefaultError,
25
+ } from '@tanstack/query-core'
26
+ import type { MaybeRefDeep } from './types'
27
+ import { cloneDeepUnref } from './utils'
28
+ import { QueryCache } from './queryCache'
29
+ import { MutationCache } from './mutationCache'
30
+
31
+ export class QueryClient extends QC {
32
+ constructor(config: MaybeRefDeep<QueryClientConfig> = {}) {
33
+ const unreffedConfig = cloneDeepUnref(config)
34
+ const vueQueryConfig: QueryClientConfig = {
35
+ defaultOptions: unreffedConfig.defaultOptions,
36
+ queryCache: unreffedConfig.queryCache || new QueryCache(),
37
+ mutationCache: unreffedConfig.mutationCache || new MutationCache(),
38
+ }
39
+ super(vueQueryConfig)
40
+ }
41
+
42
+ isRestoring = ref(false)
43
+
44
+ isFetching(filters: MaybeRefDeep<QueryFilters> = {}): number {
45
+ return super.isFetching(cloneDeepUnref(filters))
46
+ }
47
+
48
+ isMutating(filters: MaybeRefDeep<MutationFilters> = {}): number {
49
+ return super.isMutating(cloneDeepUnref(filters))
50
+ }
51
+
52
+ getQueryData<TData = unknown>(
53
+ queryKey: MaybeRefDeep<QueryKey>,
54
+ ): TData | undefined {
55
+ return super.getQueryData(cloneDeepUnref(queryKey))
56
+ }
57
+
58
+ getQueriesData<TData = unknown>(
59
+ filters: MaybeRefDeep<QueryFilters>,
60
+ ): [QueryKey, TData | undefined][] {
61
+ return super.getQueriesData(cloneDeepUnref(filters))
62
+ }
63
+
64
+ setQueryData<TData>(
65
+ queryKey: MaybeRefDeep<QueryKey>,
66
+ updater: Updater<TData | undefined, TData | undefined>,
67
+ options: MaybeRefDeep<SetDataOptions> = {},
68
+ ): TData | undefined {
69
+ return super.setQueryData(
70
+ cloneDeepUnref(queryKey),
71
+ updater,
72
+ cloneDeepUnref(options),
73
+ )
74
+ }
75
+
76
+ setQueriesData<TData>(
77
+ filters: MaybeRefDeep<QueryFilters>,
78
+ updater: Updater<TData | undefined, TData | undefined>,
79
+ options: MaybeRefDeep<SetDataOptions> = {},
80
+ ): [QueryKey, TData | undefined][] {
81
+ return super.setQueriesData(
82
+ cloneDeepUnref(filters),
83
+ updater,
84
+ cloneDeepUnref(options),
85
+ )
86
+ }
87
+
88
+ getQueryState<TData = unknown, TError = DefaultError>(
89
+ queryKey: MaybeRefDeep<QueryKey>,
90
+ ): QueryState<TData, TError> | undefined {
91
+ return super.getQueryState(cloneDeepUnref(queryKey))
92
+ }
93
+
94
+ removeQueries(filters: MaybeRefDeep<QueryFilters> = {}): void {
95
+ return super.removeQueries(cloneDeepUnref(filters))
96
+ }
97
+
98
+ resetQueries(
99
+ filters: MaybeRefDeep<QueryFilters> = {},
100
+ options: MaybeRefDeep<ResetOptions> = {},
101
+ ): Promise<void> {
102
+ return super.resetQueries(cloneDeepUnref(filters), cloneDeepUnref(options))
103
+ }
104
+
105
+ cancelQueries(
106
+ filters: MaybeRefDeep<QueryFilters> = {},
107
+ options: MaybeRefDeep<CancelOptions> = {},
108
+ ): Promise<void> {
109
+ return super.cancelQueries(cloneDeepUnref(filters), cloneDeepUnref(options))
110
+ }
111
+
112
+ invalidateQueries(
113
+ filters: MaybeRefDeep<InvalidateQueryFilters> = {},
114
+ options: MaybeRefDeep<InvalidateOptions> = {},
115
+ ): Promise<void> {
116
+ return super.invalidateQueries(
117
+ cloneDeepUnref(filters),
118
+ cloneDeepUnref(options),
119
+ )
120
+ }
121
+
122
+ refetchQueries(
123
+ filters: MaybeRefDeep<RefetchQueryFilters> = {},
124
+ options: MaybeRefDeep<RefetchOptions> = {},
125
+ ): Promise<void> {
126
+ return super.refetchQueries(
127
+ cloneDeepUnref(filters),
128
+ cloneDeepUnref(options),
129
+ )
130
+ }
131
+
132
+ fetchQuery<
133
+ TQueryFnData,
134
+ TError = DefaultError,
135
+ TData = TQueryFnData,
136
+ TQueryKey extends QueryKey = QueryKey,
137
+ >(
138
+ options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
139
+ ): Promise<TData>
140
+ fetchQuery<
141
+ TQueryFnData,
142
+ TError = DefaultError,
143
+ TData = TQueryFnData,
144
+ TQueryKey extends QueryKey = QueryKey,
145
+ >(
146
+ options: MaybeRefDeep<
147
+ FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>
148
+ >,
149
+ ): Promise<TData> {
150
+ return super.fetchQuery(cloneDeepUnref(options))
151
+ }
152
+
153
+ prefetchQuery<
154
+ TQueryFnData = unknown,
155
+ TError = DefaultError,
156
+ TData = TQueryFnData,
157
+ TQueryKey extends QueryKey = QueryKey,
158
+ >(
159
+ options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
160
+ ): Promise<void>
161
+ prefetchQuery<
162
+ TQueryFnData = unknown,
163
+ TError = DefaultError,
164
+ TData = TQueryFnData,
165
+ TQueryKey extends QueryKey = QueryKey,
166
+ >(
167
+ options: MaybeRefDeep<
168
+ FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>
169
+ >,
170
+ ): Promise<void> {
171
+ return super.prefetchQuery(cloneDeepUnref(options))
172
+ }
173
+
174
+ fetchInfiniteQuery<
175
+ TQueryFnData = unknown,
176
+ TError = DefaultError,
177
+ TData = TQueryFnData,
178
+ TQueryKey extends QueryKey = QueryKey,
179
+ TPageParam = unknown,
180
+ >(
181
+ options: FetchInfiniteQueryOptions<
182
+ TQueryFnData,
183
+ TError,
184
+ TData,
185
+ TQueryKey,
186
+ TPageParam
187
+ >,
188
+ ): Promise<InfiniteData<TData>>
189
+ fetchInfiniteQuery<
190
+ TQueryFnData,
191
+ TError = DefaultError,
192
+ TData = TQueryFnData,
193
+ TQueryKey extends QueryKey = QueryKey,
194
+ TPageParam = unknown,
195
+ >(
196
+ options: MaybeRefDeep<
197
+ FetchInfiniteQueryOptions<
198
+ TQueryFnData,
199
+ TError,
200
+ TData,
201
+ TQueryKey,
202
+ TPageParam
203
+ >
204
+ >,
205
+ ): Promise<InfiniteData<TData>> {
206
+ return super.fetchInfiniteQuery(cloneDeepUnref(options))
207
+ }
208
+
209
+ prefetchInfiniteQuery<
210
+ TQueryFnData = unknown,
211
+ TError = DefaultError,
212
+ TData = TQueryFnData,
213
+ TQueryKey extends QueryKey = QueryKey,
214
+ TPageParam = unknown,
215
+ >(
216
+ options: FetchInfiniteQueryOptions<
217
+ TQueryFnData,
218
+ TError,
219
+ TData,
220
+ TQueryKey,
221
+ TPageParam
222
+ >,
223
+ ): Promise<void>
224
+ prefetchInfiniteQuery<
225
+ TQueryFnData,
226
+ TError = DefaultError,
227
+ TData = TQueryFnData,
228
+ TQueryKey extends QueryKey = QueryKey,
229
+ TPageParam = unknown,
230
+ >(
231
+ options: MaybeRefDeep<
232
+ FetchInfiniteQueryOptions<
233
+ TQueryFnData,
234
+ TError,
235
+ TData,
236
+ TQueryKey,
237
+ TPageParam
238
+ >
239
+ >,
240
+ ): Promise<void> {
241
+ return super.prefetchInfiniteQuery(cloneDeepUnref(options))
242
+ }
243
+
244
+ setDefaultOptions(options: MaybeRefDeep<DefaultOptions>): void {
245
+ super.setDefaultOptions(cloneDeepUnref(options))
246
+ }
247
+
248
+ setQueryDefaults(
249
+ queryKey: MaybeRefDeep<QueryKey>,
250
+ options: MaybeRefDeep<
251
+ Omit<QueryObserverOptions<unknown, any, any, any>, 'queryKey'>
252
+ >,
253
+ ): void {
254
+ super.setQueryDefaults(cloneDeepUnref(queryKey), cloneDeepUnref(options))
255
+ }
256
+
257
+ getQueryDefaults(
258
+ queryKey: MaybeRefDeep<QueryKey>,
259
+ ): QueryObserverOptions<any, any, any, any, any> {
260
+ return super.getQueryDefaults(cloneDeepUnref(queryKey))
261
+ }
262
+
263
+ setMutationDefaults(
264
+ mutationKey: MaybeRefDeep<MutationKey>,
265
+ options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>,
266
+ ): void {
267
+ super.setMutationDefaults(
268
+ cloneDeepUnref(mutationKey),
269
+ cloneDeepUnref(options),
270
+ )
271
+ }
272
+
273
+ getMutationDefaults(
274
+ mutationKey: MaybeRefDeep<MutationKey>,
275
+ ): MutationObserverOptions<any, any, any, any> {
276
+ return super.getMutationDefaults(cloneDeepUnref(mutationKey))
277
+ }
278
+ }