@@ -10,13 +10,11 @@ import { getDefaultedQueryConfig } 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}
@@ -255,61 +249,42 @@ export class QueryCache {
255249 }
256250
257251 // Parameter syntax with optional prefetch options
258- async prefetchQuery < TResult , TError , TKey extends QueryKeyWithoutObject > (
259- queryKey : TKey ,
260- options ?: PrefetchQueryOptions
261- ) : Promise < TResult | undefined >
262-
263- // Parameter syntax with config and optional prefetch options
264- async prefetchQuery < TResult , TError , TKey extends QueryKeyWithoutObject > (
265- queryKey : TKey ,
266- config : QueryConfig < TResult , TError > ,
252+ async prefetchQuery < TResult = unknown , TError = unknown > (
253+ queryKey : QueryKey ,
267254 options ?: PrefetchQueryOptions
268255 ) : Promise < TResult | undefined >
269256
270257 // Parameter syntax with query function and optional prefetch options
271- async prefetchQuery <
272- TResult ,
273- TError ,
274- TKey extends QueryKeyWithoutObjectAndArray
275- > (
276- queryKey : TKey ,
277- queryFn : TupleQueryFunction < TResult , [ TKey ] > ,
258+ async prefetchQuery < TResult , TError , TArgs extends TypedQueryFunctionArgs > (
259+ queryKey : QueryKey ,
260+ queryFn : TypedQueryFunction < TResult , TArgs > ,
278261 options ?: PrefetchQueryOptions
279262 ) : Promise < TResult | undefined >
280263
281- async prefetchQuery < TResult , TError , TKey extends TupleQueryKey > (
282- queryKey : TKey ,
283- queryFn : TupleQueryFunction < TResult , TKey > ,
264+ async prefetchQuery < TResult = unknown , TError = unknown > (
265+ queryKey : QueryKey ,
266+ queryFn : QueryFunction < TResult > ,
284267 options ?: PrefetchQueryOptions
285268 ) : Promise < TResult | undefined >
286269
287270 // Parameter syntax with query function, config and optional prefetch options
288- async prefetchQuery <
289- TResult ,
290- TError ,
291- TKey extends QueryKeyWithoutObjectAndArray
292- > (
293- queryKey : TKey ,
294- queryFn : TupleQueryFunction < TResult , [ TKey ] > ,
271+ async prefetchQuery < TResult , TError , TArgs extends TypedQueryFunctionArgs > (
272+ queryKey : QueryKey ,
273+ queryFn : TypedQueryFunction < TResult , TArgs > ,
295274 queryConfig : QueryConfig < TResult , TError > ,
296275 options ?: PrefetchQueryOptions
297276 ) : Promise < TResult | undefined >
298277
299- async prefetchQuery < TResult , TError , TKey extends TupleQueryKey > (
300- queryKey : TKey ,
301- queryFn : TupleQueryFunction < TResult , TKey > ,
278+ async prefetchQuery < TResult = unknown , TError = unknown > (
279+ queryKey : QueryKey ,
280+ queryFn : QueryFunction < TResult > ,
302281 queryConfig : QueryConfig < TResult , TError > ,
303282 options ?: PrefetchQueryOptions
304283 ) : Promise < TResult | undefined >
305284
306285 // Object syntax
307- async prefetchQuery < TResult , TError , TKey extends QueryKeyWithoutArray > (
308- config : PrefetchQueryObjectConfig < TResult , TError , [ TKey ] >
309- ) : Promise < TResult | undefined >
310-
311- async prefetchQuery < TResult , TError , TKey extends TupleQueryKey > (
312- config : PrefetchQueryObjectConfig < TResult , TError , TKey >
286+ async prefetchQuery < TResult = unknown , TError = unknown > (
287+ config : PrefetchQueryObjectConfig < TResult , TError >
313288 ) : Promise < TResult | undefined >
314289
315290 // Implementation
0 commit comments