From 3e2ea8cb3e9f2af521c14163722ce69efe2baffa Mon Sep 17 00:00:00 2001 From: Bart Spaans Date: Fri, 30 Oct 2026 21:41:24 +0100 Subject: [PATCH 1/2] fix(vue-query): accept 'UseQueryOptions' in 'queryClient.query', 'fetchQuery' and 'prefetchQuery' --- .../vue-query-client-use-query-options.md | 5 ++ .../vue/reference/classes/QueryClient.md | 46 +++++++++++-------- .../src/__tests__/queryClient.test-d.ts | 16 +++++++ packages/vue-query/src/queryClient.ts | 29 ++++++------ 4 files changed, 64 insertions(+), 32 deletions(-) create mode 100644 .changeset/vue-query-client-use-query-options.md diff --git a/.changeset/vue-query-client-use-query-options.md b/.changeset/vue-query-client-use-query-options.md new file mode 100644 index 00000000000..b5a4a0f0695 --- /dev/null +++ b/.changeset/vue-query-client-use-query-options.md @@ -0,0 +1,5 @@ +--- +'@tanstack/vue-query': patch +--- + +fix(vue-query): accept 'UseQueryOptions' in 'queryClient.query', 'fetchQuery' and 'prefetchQuery' diff --git a/docs/framework/vue/reference/classes/QueryClient.md b/docs/framework/vue/reference/classes/QueryClient.md index 883c769589c..7715351437f 100644 --- a/docs/framework/vue/reference/classes/QueryClient.md +++ b/docs/framework/vue/reference/classes/QueryClient.md @@ -439,7 +439,7 @@ QC.ensureQueryData fetchInfiniteQuery(options: FetchInfiniteQueryOptions): Promise>; ``` -Defined in: [packages/vue-query/src/queryClient.ts:530](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L530) +Defined in: [packages/vue-query/src/queryClient.ts:533](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L533) Fetches and caches an infinite query, or returns its cached data if it isn't stale. @@ -497,7 +497,7 @@ QC.fetchInfiniteQuery fetchInfiniteQuery(options: MaybeRefDeep>): Promise>; ``` -Defined in: [packages/vue-query/src/queryClient.ts:549](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L549) +Defined in: [packages/vue-query/src/queryClient.ts:552](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L552) Fetches and caches an infinite query, or returns its cached data if it isn't stale. @@ -559,7 +559,7 @@ QC.fetchInfiniteQuery fetchQuery(options: FetchQueryOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:358](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L358) +Defined in: [packages/vue-query/src/queryClient.ts:360](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L360) Fetches and caches a query, or returns its cached data if it isn't stale. Unlike in observers, the fetch isn't retried unless `retry` is set. @@ -617,10 +617,11 @@ QC.fetchQuery ```ts fetchQuery(options: | MaybeRefDeep> + | UseQueryOptions | (() => FetchQueryOptions)): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:377](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L377) +Defined in: [packages/vue-query/src/queryClient.ts:379](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L379) Fetches and caches a query, or returns its cached data if it isn't stale. Unlike in observers, the fetch isn't retried unless `retry` is set. @@ -652,6 +653,7 @@ the fetch isn't retried unless `retry` is set. ###### options \| `MaybeRefDeep`\<[`FetchQueryOptions`](../interfaces/FetchQueryOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryKey`, `TPageParam`\>\> + \| [`UseQueryOptions`](../type-aliases/UseQueryOptions.md)\<`TQueryFnData`, `TError`, `unknown`, `TData`, `TQueryKey`\> \| (() => [`FetchQueryOptions`](../interfaces/FetchQueryOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryKey`, `TPageParam`\>) The query options, including the `queryKey` and the `queryFn` used if the @@ -750,7 +752,7 @@ QC.getMutationCache getMutationDefaults(mutationKey: MaybeRefDeep): MutationObserverOptions; ``` -Defined in: [packages/vue-query/src/queryClient.ts:693](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L693) +Defined in: [packages/vue-query/src/queryClient.ts:696](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L696) Returns the default options registered for mutations whose mutation key partially matches the given `mutationKey`, via [QueryClient#setMutationDefaults](#setmutationdefaults). If multiple registered @@ -976,7 +978,7 @@ QC.getQueryData getQueryDefaults(queryKey: MaybeRefDeep): OmitKeyof, "queryKey">; ``` -Defined in: [packages/vue-query/src/queryClient.ts:670](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L670) +Defined in: [packages/vue-query/src/queryClient.ts:673](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L673) Returns the default options registered for queries whose query key partially matches the given `queryKey`, via [QueryClient#setQueryDefaults](#setquerydefaults). If multiple registered defaults @@ -1123,7 +1125,7 @@ QC.getQueryState infiniteQuery, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: InfiniteQueryExecuteOptions): Promise[] ? InfiniteData : TData>; ``` -Defined in: [packages/vue-query/src/queryClient.ts:457](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L457) +Defined in: [packages/vue-query/src/queryClient.ts:460](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L460) Asynchronous method to fetch and cache an infinite query, resolving with an [InfiniteData](../interfaces/InfiniteData.md) object or throwing with the error. @@ -1196,7 +1198,7 @@ QC.infiniteQuery infiniteQuery, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: MaybeRefDeep>): Promise[] ? InfiniteData : TData>; ``` -Defined in: [packages/vue-query/src/queryClient.ts:477](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L477) +Defined in: [packages/vue-query/src/queryClient.ts:480](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L480) Asynchronous method to fetch and cache an infinite query, resolving with an [InfiniteData](../interfaces/InfiniteData.md) object or throwing with the error. @@ -1433,7 +1435,7 @@ QC.mount prefetchInfiniteQuery(options: FetchInfiniteQueryOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:595](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L595) +Defined in: [packages/vue-query/src/queryClient.ts:598](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L598) Fetches and caches an infinite query like [QueryClient#fetchInfiniteQuery](#fetchinfinitequery), but ignores the result and any error. @@ -1491,7 +1493,7 @@ QC.prefetchInfiniteQuery prefetchInfiniteQuery(options: MaybeRefDeep>): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:614](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L614) +Defined in: [packages/vue-query/src/queryClient.ts:617](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L617) Fetches and caches an infinite query like [QueryClient#fetchInfiniteQuery](#fetchinfinitequery), but ignores the result and any error. @@ -1553,7 +1555,7 @@ QC.prefetchInfiniteQuery prefetchQuery(options: FetchQueryOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:419](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L419) +Defined in: [packages/vue-query/src/queryClient.ts:422](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L422) Fetches and caches a query like [QueryClient#fetchQuery](#fetchquery), but ignores the result and any error. @@ -1604,10 +1606,12 @@ QC.prefetchQuery #### Call Signature ```ts -prefetchQuery(options: MaybeRefDeep>): Promise; +prefetchQuery(options: + | MaybeRefDeep> +| UseQueryOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:431](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L431) +Defined in: [packages/vue-query/src/queryClient.ts:434](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L434) Fetches and caches a query like [QueryClient#fetchQuery](#fetchquery), but ignores the result and any error. @@ -1634,7 +1638,8 @@ error. ###### options -`MaybeRefDeep`\<[`FetchQueryOptions`](../interfaces/FetchQueryOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryKey`, `never`\>\> + \| `MaybeRefDeep`\<[`FetchQueryOptions`](../interfaces/FetchQueryOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryKey`, `never`\>\> + \| [`UseQueryOptions`](../type-aliases/UseQueryOptions.md)\<`TQueryFnData`, `TError`, `unknown`, `TData`, `TQueryKey`\> The query options, including the `queryKey` and the `queryFn` used if the query needs to fetch. @@ -1749,7 +1754,9 @@ QC.query #### Call Signature ```ts -query(options: MaybeRefDeep>): Promise; +query(options: + | MaybeRefDeep> +| UseQueryOptions): Promise; ``` Defined in: [packages/vue-query/src/queryClient.ts:308](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L308) @@ -1805,7 +1812,8 @@ This method replaces the deprecated `fetchQuery`, and — combined with ###### options -`MaybeRefDeep`\<[`QueryExecuteOptions`](../interfaces/QueryExecuteOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryData`, `TQueryKey`, `TPageParam`\>\> + \| `MaybeRefDeep`\<[`QueryExecuteOptions`](../interfaces/QueryExecuteOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryData`, `TQueryKey`, `TPageParam`\>\> + \| [`UseQueryOptions`](../type-aliases/UseQueryOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryData`, `TQueryKey`\> The query options, including the `queryKey` and the `queryFn` used if the query needs to fetch. @@ -2024,7 +2032,7 @@ QC.resumePausedMutations setDefaultOptions(options: MaybeRefDeep>): void; ``` -Defined in: [packages/vue-query/src/queryClient.ts:652](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L652) +Defined in: [packages/vue-query/src/queryClient.ts:655](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L655) Dynamically sets the default options for this client, overwriting any previously defined default options. @@ -2072,7 +2080,7 @@ QC.setDefaultOptions setMutationDefaults(mutationKey: MaybeRefDeep, options: MaybeRefDeep>): void; ``` -Defined in: [packages/vue-query/src/queryClient.ts:676](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L676) +Defined in: [packages/vue-query/src/queryClient.ts:679](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L679) Sets default options for mutations whose mutation key partially matches the given `mutationKey`. As with [QueryClient#setQueryDefaults](#setquerydefaults), the order of registration @@ -2350,7 +2358,7 @@ QC.setQueryData setQueryDefaults(queryKey: MaybeRefDeep, options: MaybeRefDeep, "queryKey">>): void; ``` -Defined in: [packages/vue-query/src/queryClient.ts:656](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L656) +Defined in: [packages/vue-query/src/queryClient.ts:659](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L659) Sets default options for queries whose query key partially matches the given `queryKey`. diff --git a/packages/vue-query/src/__tests__/queryClient.test-d.ts b/packages/vue-query/src/__tests__/queryClient.test-d.ts index 205ec304f52..f6f58a6249b 100644 --- a/packages/vue-query/src/__tests__/queryClient.test-d.ts +++ b/packages/vue-query/src/__tests__/queryClient.test-d.ts @@ -3,6 +3,7 @@ import { ref } from 'vue-demi' import { createKey } from '@tanstack/query-test-utils' import { QueryClient } from '../queryClient' import type { DataTag, InfiniteData, QueryState } from '@tanstack/query-core' +import type { UseQueryOptions } from '../queryOptions' describe('getQueryData', () => { it('should be typed if key is tagged', () => { @@ -228,6 +229,21 @@ describe('query', () => { }), ]) }) + + it('should accept options typed as UseQueryOptions', () => { + const options = {} as UseQueryOptions + const queryClient = new QueryClient() + + expectTypeOf(queryClient.query(options)).toEqualTypeOf>() + expectTypeOf( + // oxlint-disable-next-line tanstack-query/no-restricted-syntax -- deprecated method must still accept UseQueryOptions + queryClient.fetchQuery(options), + ).toEqualTypeOf>() + expectTypeOf( + // oxlint-disable-next-line tanstack-query/no-restricted-syntax -- deprecated method must still accept UseQueryOptions + queryClient.prefetchQuery(options), + ).toEqualTypeOf>() + }) }) describe('infiniteQuery', () => { diff --git a/packages/vue-query/src/queryClient.ts b/packages/vue-query/src/queryClient.ts index b770493291f..a81139b0154 100644 --- a/packages/vue-query/src/queryClient.ts +++ b/packages/vue-query/src/queryClient.ts @@ -313,16 +313,18 @@ export class QueryClient extends QC { TQueryKey extends QueryKey = QueryKey, TPageParam = never, >( - options: MaybeRefDeep< - QueryExecuteOptions< - TQueryFnData, - TError, - TData, - TQueryData, - TQueryKey, - TPageParam - > - >, + options: + | MaybeRefDeep< + QueryExecuteOptions< + TQueryFnData, + TError, + TData, + TQueryData, + TQueryKey, + TPageParam + > + > + | UseQueryOptions, ): Promise override query< TQueryFnData, @@ -385,6 +387,7 @@ export class QueryClient extends QC { | MaybeRefDeep< FetchQueryOptions > + | UseQueryOptions | (() => FetchQueryOptions< TQueryFnData, TError, @@ -434,9 +437,9 @@ export class QueryClient extends QC { TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, >( - options: MaybeRefDeep< - FetchQueryOptions - >, + options: + | MaybeRefDeep> + | UseQueryOptions, ): Promise override prefetchQuery< TQueryFnData = unknown, From 871610bd1b35659015ecf49a67c01465045502a6 Mon Sep 17 00:00:00 2001 From: Bart Spaans Date: Fri, 30 Oct 2026 21:54:56 +0100 Subject: [PATCH 2/2] docs(vue-query): note that observer-only 'UseQueryOptions' are ignored by one-shot query methods --- .../vue/reference/classes/QueryClient.md | 77 ++++++++++--------- packages/vue-query/src/queryClient.ts | 3 + 2 files changed, 43 insertions(+), 37 deletions(-) diff --git a/docs/framework/vue/reference/classes/QueryClient.md b/docs/framework/vue/reference/classes/QueryClient.md index 7715351437f..56d7545f65a 100644 --- a/docs/framework/vue/reference/classes/QueryClient.md +++ b/docs/framework/vue/reference/classes/QueryClient.md @@ -5,7 +5,7 @@ title: QueryClient -Defined in: [packages/vue-query/src/queryClient.ts:52](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L52) +Defined in: [packages/vue-query/src/queryClient.ts:55](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L55) Vue-aware subclass of `@tanstack/query-core`'s `QueryClient`. Methods that accept `options` (such as `CancelOptions` or `InvalidateOptions`) or filters (such as the `QueryFilters` accepted by @@ -18,6 +18,9 @@ filters/options object (e.g. `invalidateQueries({ queryKey: ['post', idGetter] } `getQueryData` that take the `queryKey` array as their own argument do not unwrap getter entries there, and the getter function itself ends up in the cache key. +`query`, `fetchQuery`, and `prefetchQuery` also accept [UseQueryOptions](../type-aliases/UseQueryOptions.md). Observer-only options in +it, such as `enabled`, are accepted but ignored. + Install one on your app with `VueQueryPlugin`, or retrieve it with `useQueryClient`. ## Extends @@ -32,7 +35,7 @@ Install one on your app with `VueQueryPlugin`, or retrieve it with `useQueryClie new QueryClient(config?: QueryClientConfig): QueryClient; ``` -Defined in: [packages/vue-query/src/queryClient.ts:53](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L53) +Defined in: [packages/vue-query/src/queryClient.ts:56](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L56) #### Parameters @@ -58,7 +61,7 @@ QC.constructor optional isRestoring?: Ref; ``` -Defined in: [packages/vue-query/src/queryClient.ts:66](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L66) +Defined in: [packages/vue-query/src/queryClient.ts:69](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L69) `true` while a `clientPersister` passed to `VueQueryPlugin` is restoring the cache. Queries don't fetch while this is `true`. Defaults to `false` if no persister is configured. @@ -71,7 +74,7 @@ while this is `true`. Defaults to `false` if no persister is configured. cancelQueries(filters?: QueryFilters, options?: MaybeRefDeep): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:223](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L223) +Defined in: [packages/vue-query/src/queryClient.ts:226](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L226) Cancels outgoing fetches for queries matching the given filters. Most useful when performing optimistic updates, since any outgoing refetch that resolves afterwards would otherwise @@ -325,7 +328,7 @@ QC.ensureInfiniteQueryData ensureQueryData(options: EnsureQueryDataOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:103](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L103) +Defined in: [packages/vue-query/src/queryClient.ts:106](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L106) Returns the cached data of a query, or fetches it if there is none. With `revalidateIfStale`, stale cached data is also refetched in the background. @@ -380,7 +383,7 @@ QC.ensureQueryData ensureQueryData(options: MaybeRefDeep>): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:115](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L115) +Defined in: [packages/vue-query/src/queryClient.ts:118](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L118) Returns the cached data of a query, or fetches it if there is none. With `revalidateIfStale`, stale cached data is also refetched in the background. @@ -439,7 +442,7 @@ QC.ensureQueryData fetchInfiniteQuery(options: FetchInfiniteQueryOptions): Promise>; ``` -Defined in: [packages/vue-query/src/queryClient.ts:533](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L533) +Defined in: [packages/vue-query/src/queryClient.ts:536](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L536) Fetches and caches an infinite query, or returns its cached data if it isn't stale. @@ -497,7 +500,7 @@ QC.fetchInfiniteQuery fetchInfiniteQuery(options: MaybeRefDeep>): Promise>; ``` -Defined in: [packages/vue-query/src/queryClient.ts:552](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L552) +Defined in: [packages/vue-query/src/queryClient.ts:555](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L555) Fetches and caches an infinite query, or returns its cached data if it isn't stale. @@ -559,7 +562,7 @@ QC.fetchInfiniteQuery fetchQuery(options: FetchQueryOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:360](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L360) +Defined in: [packages/vue-query/src/queryClient.ts:363](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L363) Fetches and caches a query, or returns its cached data if it isn't stale. Unlike in observers, the fetch isn't retried unless `retry` is set. @@ -621,7 +624,7 @@ fetchQuery FetchQueryOptions)): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:379](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L379) +Defined in: [packages/vue-query/src/queryClient.ts:382](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L382) Fetches and caches a query, or returns its cached data if it isn't stale. Unlike in observers, the fetch isn't retried unless `retry` is set. @@ -752,7 +755,7 @@ QC.getMutationCache getMutationDefaults(mutationKey: MaybeRefDeep): MutationObserverOptions; ``` -Defined in: [packages/vue-query/src/queryClient.ts:696](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L696) +Defined in: [packages/vue-query/src/queryClient.ts:699](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L699) Returns the default options registered for mutations whose mutation key partially matches the given `mutationKey`, via [QueryClient#setMutationDefaults](#setmutationdefaults). If multiple registered @@ -793,7 +796,7 @@ QC.getMutationDefaults getQueriesData(filters: MaybeRefDeep>): [readonly unknown[], TData | undefined][]; ``` -Defined in: [packages/vue-query/src/queryClient.ts:139](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L139) +Defined in: [packages/vue-query/src/queryClient.ts:142](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L142) Imperative (non-reactive) way to retrieve the cached data of multiple queries at once. Only queries matching the given filters are returned; if none match, an empty array is @@ -887,7 +890,7 @@ getQueryData(queryKey: MaybeRefDeep): TData | undefined; ``` -Defined in: [packages/vue-query/src/queryClient.ts:85](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L85) +Defined in: [packages/vue-query/src/queryClient.ts:88](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L88) Imperative (non-reactive) way to retrieve data for a QueryKey. Should only be used in callbacks or functions where reading the latest data is necessary, e.g. for optimistic updates. @@ -978,7 +981,7 @@ QC.getQueryData getQueryDefaults(queryKey: MaybeRefDeep): OmitKeyof, "queryKey">; ``` -Defined in: [packages/vue-query/src/queryClient.ts:673](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L673) +Defined in: [packages/vue-query/src/queryClient.ts:676](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L676) Returns the default options registered for queries whose query key partially matches the given `queryKey`, via [QueryClient#setQueryDefaults](#setquerydefaults). If multiple registered defaults @@ -1023,7 +1026,7 @@ getQueryState(queryKey: MaybeRefDeep, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: InfiniteQueryExecuteOptions): Promise[] ? InfiniteData : TData>; ``` -Defined in: [packages/vue-query/src/queryClient.ts:460](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L460) +Defined in: [packages/vue-query/src/queryClient.ts:463](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L463) Asynchronous method to fetch and cache an infinite query, resolving with an [InfiniteData](../interfaces/InfiniteData.md) object or throwing with the error. @@ -1198,7 +1201,7 @@ QC.infiniteQuery infiniteQuery, TQueryKey extends readonly unknown[] = readonly unknown[], TPageParam = unknown>(options: MaybeRefDeep>): Promise[] ? InfiniteData : TData>; ``` -Defined in: [packages/vue-query/src/queryClient.ts:480](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L480) +Defined in: [packages/vue-query/src/queryClient.ts:483](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L483) Asynchronous method to fetch and cache an infinite query, resolving with an [InfiniteData](../interfaces/InfiniteData.md) object or throwing with the error. @@ -1264,7 +1267,7 @@ invalidateQueries InvalidateQueryFilters), options?: MaybeRefDeep): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:234](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L234) +Defined in: [packages/vue-query/src/queryClient.ts:237](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L237) Marks queries matching the given filters as invalidated. Unlike [QueryClient#removeQueries](#removequeries), invalidated queries stay in the cache. @@ -1323,7 +1326,7 @@ QC.invalidateQueries isFetching(filters?: MaybeRefDeep, "fetchStatus">>): number; ``` -Defined in: [packages/vue-query/src/queryClient.ts:68](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L68) +Defined in: [packages/vue-query/src/queryClient.ts:71](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L71) Returns the number of queries in the cache that are currently fetching, optionally matching a set of filters. This includes background-fetching, loading new pages, and @@ -1366,7 +1369,7 @@ QC.isFetching isMutating(filters?: MaybeRefDeep>): number; ``` -Defined in: [packages/vue-query/src/queryClient.ts:74](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L74) +Defined in: [packages/vue-query/src/queryClient.ts:77](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L77) Returns the number of mutations in the cache that are currently pending, optionally matching a set of filters. @@ -1435,7 +1438,7 @@ QC.mount prefetchInfiniteQuery(options: FetchInfiniteQueryOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:598](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L598) +Defined in: [packages/vue-query/src/queryClient.ts:601](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L601) Fetches and caches an infinite query like [QueryClient#fetchInfiniteQuery](#fetchinfinitequery), but ignores the result and any error. @@ -1493,7 +1496,7 @@ QC.prefetchInfiniteQuery prefetchInfiniteQuery(options: MaybeRefDeep>): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:617](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L617) +Defined in: [packages/vue-query/src/queryClient.ts:620](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L620) Fetches and caches an infinite query like [QueryClient#fetchInfiniteQuery](#fetchinfinitequery), but ignores the result and any error. @@ -1555,7 +1558,7 @@ QC.prefetchInfiniteQuery prefetchQuery(options: FetchQueryOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:422](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L422) +Defined in: [packages/vue-query/src/queryClient.ts:425](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L425) Fetches and caches a query like [QueryClient#fetchQuery](#fetchquery), but ignores the result and any error. @@ -1611,7 +1614,7 @@ prefetchQuery): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:434](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L434) +Defined in: [packages/vue-query/src/queryClient.ts:437](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L437) Fetches and caches a query like [QueryClient#fetchQuery](#fetchquery), but ignores the result and any error. @@ -1670,7 +1673,7 @@ QC.prefetchQuery query(options: QueryExecuteOptions): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:290](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L290) +Defined in: [packages/vue-query/src/queryClient.ts:293](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L293) Asynchronous method to fetch and cache a query, resolving with the data or throwing with the error. @@ -1759,7 +1762,7 @@ query): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:308](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L308) +Defined in: [packages/vue-query/src/queryClient.ts:311](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L311) Asynchronous method to fetch and cache a query, resolving with the data or throwing with the error. @@ -1839,7 +1842,7 @@ QC.query refetchQueries(filters?: RefetchQueryFilters, options?: MaybeRefDeep): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:274](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L274) +Defined in: [packages/vue-query/src/queryClient.ts:277](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L277) Refetches queries matching the given filters, regardless of whether they are stale. Without filters, every query in the cache is refetched. Queries that are disabled, or static (only @@ -1898,7 +1901,7 @@ QC.refetchQueries removeQueries(filters?: QueryFilters): void; ``` -Defined in: [packages/vue-query/src/queryClient.ts:205](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L205) +Defined in: [packages/vue-query/src/queryClient.ts:208](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L208) Removes queries from the cache that match the given filters. Unlike [QueryClient#invalidateQueries](#invalidatequeries) or [QueryClient#refetchQueries](#refetchqueries), this removes @@ -1944,7 +1947,7 @@ QC.removeQueries resetQueries(filters?: QueryFilters, options?: MaybeRefDeep): Promise; ``` -Defined in: [packages/vue-query/src/queryClient.ts:212](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L212) +Defined in: [packages/vue-query/src/queryClient.ts:215](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L215) Resets queries matching the given filters back to their initial state (e.g. any `initialData`), notifying subscribers rather than removing them. Active queries among the @@ -2032,7 +2035,7 @@ QC.resumePausedMutations setDefaultOptions(options: MaybeRefDeep>): void; ``` -Defined in: [packages/vue-query/src/queryClient.ts:655](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L655) +Defined in: [packages/vue-query/src/queryClient.ts:658](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L658) Dynamically sets the default options for this client, overwriting any previously defined default options. @@ -2080,7 +2083,7 @@ QC.setDefaultOptions setMutationDefaults(mutationKey: MaybeRefDeep, options: MaybeRefDeep>): void; ``` -Defined in: [packages/vue-query/src/queryClient.ts:679](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L679) +Defined in: [packages/vue-query/src/queryClient.ts:682](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L682) Sets default options for mutations whose mutation key partially matches the given `mutationKey`. As with [QueryClient#setQueryDefaults](#setquerydefaults), the order of registration @@ -2150,7 +2153,7 @@ setQueriesData( ): [readonly unknown[], TData | undefined][]; ``` -Defined in: [packages/vue-query/src/queryClient.ts:175](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L175) +Defined in: [packages/vue-query/src/queryClient.ts:178](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L178) Synchronous way to immediately update the cached data of multiple queries at once, using filters or partial query key matching. Only queries that already exist and match the given @@ -2219,7 +2222,7 @@ setQueryData | undefined; ``` -Defined in: [packages/vue-query/src/queryClient.ts:145](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L145) +Defined in: [packages/vue-query/src/queryClient.ts:148](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L148) Synchronous way to immediately update a query's cached data. If the updater (or the value passed) resolves to `undefined`, the cache is left untouched and no query is created; @@ -2296,7 +2299,7 @@ setQueryData>( ): NoInfer | undefined; ``` -Defined in: [packages/vue-query/src/queryClient.ts:158](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L158) +Defined in: [packages/vue-query/src/queryClient.ts:161](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L161) Synchronous way to immediately update a query's cached data. If the updater (or the value passed) resolves to `undefined`, the cache is left untouched and no query is created; @@ -2358,7 +2361,7 @@ QC.setQueryData setQueryDefaults(queryKey: MaybeRefDeep, options: MaybeRefDeep, "queryKey">>): void; ``` -Defined in: [packages/vue-query/src/queryClient.ts:659](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L659) +Defined in: [packages/vue-query/src/queryClient.ts:662](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryClient.ts#L662) Sets default options for queries whose query key partially matches the given `queryKey`. diff --git a/packages/vue-query/src/queryClient.ts b/packages/vue-query/src/queryClient.ts index a81139b0154..e54d708b170 100644 --- a/packages/vue-query/src/queryClient.ts +++ b/packages/vue-query/src/queryClient.ts @@ -47,6 +47,9 @@ import type { * `getQueryData` that take the `queryKey` array as their own argument do not unwrap getter entries there, * and the getter function itself ends up in the cache key. * + * `query`, `fetchQuery`, and `prefetchQuery` also accept {@link UseQueryOptions}. Observer-only options in + * it, such as `enabled`, are accepted but ignored. + * * Install one on your app with `VueQueryPlugin`, or retrieve it with `useQueryClient`. */ export class QueryClient extends QC {