diff --git a/packages/vue-query/src/queryClient.ts b/packages/vue-query/src/queryClient.ts index b9f78e26c1..e4d66f15ee 100644 --- a/packages/vue-query/src/queryClient.ts +++ b/packages/vue-query/src/queryClient.ts @@ -201,16 +201,12 @@ export class QueryClient extends QC { TInferredQueryFnData = InferDataFromTag, TInferredError = InferErrorFromTag, >( - filters?: - | InvalidateQueryFilters - | (() => InvalidateQueryFilters), + filters?: MaybeRefDeep>, options?: MaybeRefDeep, ): Promise invalidateQueries( - filters: - | MaybeRefDeep> - | (() => InvalidateQueryFilters) = {}, - options: MaybeRefDeep | (() => InvalidateOptions) = {}, + filters: MaybeRefDeep> = {}, + options: MaybeRefDeep = {}, ): Promise { const filtersCloned = cloneDeepUnref( filters as MaybeRefDeep>, @@ -286,13 +282,16 @@ export class QueryClient extends QC { | MaybeRefDeep< FetchQueryOptions > - | (() => FetchQueryOptions< - TQueryFnData, - TError, - TData, - TQueryKey, - TPageParam - >), + | (() => + MaybeRefDeep< + FetchQueryOptions< + TQueryFnData, + TError, + TData, + TQueryKey, + TPageParam + > + >), ): Promise fetchQuery< TQueryFnData, @@ -301,11 +300,23 @@ export class QueryClient extends QC { TQueryKey extends QueryKey = QueryKey, TPageParam = never, >( - options: MaybeRefDeep< - FetchQueryOptions - >, + options: + | MaybeRefDeep< + FetchQueryOptions + > + | (() => + MaybeRefDeep< + FetchQueryOptions< + TQueryFnData, + TError, + TData, + TQueryKey, + TPageParam + > + >), ): Promise { - return super.fetchQuery(cloneDeepUnref(options)) + const unwrappedOptions = typeof options === 'function' ? options() : options + return super.fetchQuery(cloneDeepUnref(unwrappedOptions)) } prefetchQuery<