1- import type { DataTag , DefaultError , QueryKey } from '@tanstack/query-core '
1+ import type { DeepUnwrapRef , ShallowOption } from './types '
22import type {
3- DefinedInitialQueryOptions ,
4- UndefinedInitialQueryOptions ,
5- } from './useQuery'
3+ DataTag ,
4+ DefaultError ,
5+ Enabled ,
6+ InitialDataFunction ,
7+ NonUndefinedGuard ,
8+ QueryKey ,
9+ QueryObserverOptions ,
10+ } from '@tanstack/query-core'
11+
12+ export type QueryOptions <
13+ TQueryFnData = unknown ,
14+ TError = DefaultError ,
15+ TData = TQueryFnData ,
16+ TQueryData = TQueryFnData ,
17+ TQueryKey extends QueryKey = QueryKey ,
18+ > = {
19+ [ Property in keyof QueryObserverOptions <
20+ TQueryFnData ,
21+ TError ,
22+ TData ,
23+ TQueryData ,
24+ TQueryKey
25+ > ] : Property extends 'enabled'
26+ ? ( ) => Enabled < TQueryFnData , TError , TQueryData , DeepUnwrapRef < TQueryKey > >
27+ : QueryObserverOptions <
28+ TQueryFnData ,
29+ TError ,
30+ TData ,
31+ TQueryData ,
32+ DeepUnwrapRef < TQueryKey >
33+ > [ Property ]
34+ } & ShallowOption
35+
36+ export type UndefinedInitialQueryOptions <
37+ TQueryFnData = unknown ,
38+ TError = DefaultError ,
39+ TData = TQueryFnData ,
40+ TQueryKey extends QueryKey = QueryKey ,
41+ > = QueryOptions < TQueryFnData , TError , TData , TQueryFnData , TQueryKey > & {
42+ initialData ?:
43+ | undefined
44+ | InitialDataFunction < NonUndefinedGuard < TQueryFnData > >
45+ | NonUndefinedGuard < TQueryFnData >
46+ }
47+
48+ export type DefinedInitialQueryOptions <
49+ TQueryFnData = unknown ,
50+ TError = DefaultError ,
51+ TData = TQueryFnData ,
52+ TQueryKey extends QueryKey = QueryKey ,
53+ > = QueryOptions < TQueryFnData , TError , TData , TQueryFnData , TQueryKey > & {
54+ initialData :
55+ | NonUndefinedGuard < TQueryFnData >
56+ | ( ( ) => NonUndefinedGuard < TQueryFnData > )
57+ }
658
759export function queryOptions <
860 TQueryFnData = unknown ,
@@ -15,6 +67,22 @@ export function queryOptions<
1567 queryKey : DataTag < TQueryKey , TQueryFnData , TError >
1668}
1769
70+ export function queryOptions <
71+ TQueryFnData = unknown ,
72+ TError = DefaultError ,
73+ TData = TQueryFnData ,
74+ TQueryKey extends QueryKey = QueryKey ,
75+ > (
76+ options : ( ) => DefinedInitialQueryOptions <
77+ TQueryFnData ,
78+ TError ,
79+ TData ,
80+ TQueryKey
81+ > ,
82+ ) : ( ) => DefinedInitialQueryOptions < TQueryFnData , TError , TData , TQueryKey > & {
83+ queryKey : DataTag < TQueryKey , TQueryFnData , TError >
84+ }
85+
1886export function queryOptions <
1987 TQueryFnData = unknown ,
2088 TError = DefaultError ,
@@ -26,6 +94,27 @@ export function queryOptions<
2694 queryKey : DataTag < TQueryKey , TQueryFnData , TError >
2795}
2896
97+ export function queryOptions <
98+ TQueryFnData = unknown ,
99+ TError = DefaultError ,
100+ TData = TQueryFnData ,
101+ TQueryKey extends QueryKey = QueryKey ,
102+ > (
103+ options : ( ) => UndefinedInitialQueryOptions <
104+ TQueryFnData ,
105+ TError ,
106+ TData ,
107+ TQueryKey
108+ > ,
109+ ) : ( ) => UndefinedInitialQueryOptions <
110+ TQueryFnData ,
111+ TError ,
112+ TData ,
113+ TQueryKey
114+ > & {
115+ queryKey : DataTag < TQueryKey , TQueryFnData , TError >
116+ }
117+
29118export function queryOptions ( options : unknown ) {
30119 return options
31120}
0 commit comments