@@ -10,13 +10,11 @@ import { defaultConfigRef, ReactQueryConfigRef } from './config'
1010import { Query } from './query'
1111import {
1212 QueryConfig ,
13+ QueryFunction ,
1314 QueryKey ,
14- QueryKeyWithoutObject ,
1515 ReactQueryConfig ,
16- QueryKeyWithoutArray ,
17- QueryKeyWithoutObjectAndArray ,
18- TupleQueryFunction ,
19- TupleQueryKey ,
16+ TypedQueryFunction ,
17+ TypedQueryFunctionArgs ,
2018} from './types'
2119
2220// TYPES
@@ -49,13 +47,9 @@ type QueryPredicate = QueryKey | QueryPredicateFn | true
4947
5048type QueryPredicateFn = ( query : Query < unknown , unknown > ) => boolean
5149
52- export interface PrefetchQueryObjectConfig <
53- TResult ,
54- TError ,
55- TKey extends TupleQueryKey
56- > {
50+ export interface PrefetchQueryObjectConfig < TResult , TError > {
5751 queryKey : QueryKey
58- queryFn ?: TupleQueryFunction < TResult , TKey >
52+ queryFn ?: QueryFunction < TResult >
5953 config ?: QueryConfig < TResult , TError >
6054 options ?: PrefetchQueryOptions
6155}
@@ -276,61 +270,42 @@ export class QueryCache {
276270 }
277271
278272 // Parameter syntax with optional prefetch options
279- async prefetchQuery < TResult , TError , TKey extends QueryKeyWithoutObject > (
280- queryKey : TKey ,
281- options ?: PrefetchQueryOptions
282- ) : Promise < TResult | undefined >
283-
284- // Parameter syntax with config and optional prefetch options
285- async prefetchQuery < TResult , TError , TKey extends QueryKeyWithoutObject > (
286- queryKey : TKey ,
287- config : QueryConfig < TResult , TError > ,
273+ async prefetchQuery < TResult = unknown , TError = unknown > (
274+ queryKey : QueryKey ,
288275 options ?: PrefetchQueryOptions
289276 ) : Promise < TResult | undefined >
290277
291278 // Parameter syntax with query function and optional prefetch options
292- async prefetchQuery <
293- TResult ,
294- TError ,
295- TKey extends QueryKeyWithoutObjectAndArray
296- > (
297- queryKey : TKey ,
298- queryFn : TupleQueryFunction < TResult , [ TKey ] > ,
279+ async prefetchQuery < TResult , TError , TArgs extends TypedQueryFunctionArgs > (
280+ queryKey : QueryKey ,
281+ queryFn : TypedQueryFunction < TResult , TArgs > ,
299282 options ?: PrefetchQueryOptions
300283 ) : Promise < TResult | undefined >
301284
302- async prefetchQuery < TResult , TError , TKey extends TupleQueryKey > (
303- queryKey : TKey ,
304- queryFn : TupleQueryFunction < TResult , TKey > ,
285+ async prefetchQuery < TResult = unknown , TError = unknown > (
286+ queryKey : QueryKey ,
287+ queryFn : QueryFunction < TResult > ,
305288 options ?: PrefetchQueryOptions
306289 ) : Promise < TResult | undefined >
307290
308291 // Parameter syntax with query function, config and optional prefetch options
309- async prefetchQuery <
310- TResult ,
311- TError ,
312- TKey extends QueryKeyWithoutObjectAndArray
313- > (
314- queryKey : TKey ,
315- queryFn : TupleQueryFunction < TResult , [ TKey ] > ,
292+ async prefetchQuery < TResult , TError , TArgs extends TypedQueryFunctionArgs > (
293+ queryKey : QueryKey ,
294+ queryFn : TypedQueryFunction < TResult , TArgs > ,
316295 queryConfig : QueryConfig < TResult , TError > ,
317296 options ?: PrefetchQueryOptions
318297 ) : Promise < TResult | undefined >
319298
320- async prefetchQuery < TResult , TError , TKey extends TupleQueryKey > (
321- queryKey : TKey ,
322- queryFn : TupleQueryFunction < TResult , TKey > ,
299+ async prefetchQuery < TResult = unknown , TError = unknown > (
300+ queryKey : QueryKey ,
301+ queryFn : QueryFunction < TResult > ,
323302 queryConfig : QueryConfig < TResult , TError > ,
324303 options ?: PrefetchQueryOptions
325304 ) : Promise < TResult | undefined >
326305
327306 // Object syntax
328- async prefetchQuery < TResult , TError , TKey extends QueryKeyWithoutArray > (
329- config : PrefetchQueryObjectConfig < TResult , TError , [ TKey ] >
330- ) : Promise < TResult | undefined >
331-
332- async prefetchQuery < TResult , TError , TKey extends TupleQueryKey > (
333- config : PrefetchQueryObjectConfig < TResult , TError , TKey >
307+ async prefetchQuery < TResult = unknown , TError = unknown > (
308+ config : PrefetchQueryObjectConfig < TResult , TError >
334309 ) : Promise < TResult | undefined >
335310
336311 // Implementation
0 commit comments