soda-tanstack-query 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils/createUseQuery.d.ts +36 -36
- package/package.json +1 -1
- package/src/utils/createUseQuery.ts +113 -43
|
@@ -3,74 +3,74 @@ import { StrictPartial } from "soda-type";
|
|
|
3
3
|
/** 判断函数的参数是否为必需的 */
|
|
4
4
|
export type IsParamRequired<TFn extends (params: any) => any> = Parameters<TFn> extends [param: any] ? true : false;
|
|
5
5
|
/** 参数必须的 useQuery */
|
|
6
|
-
interface _UseQueryWithParams<TFn extends (params: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
7
|
-
<TData =
|
|
8
|
-
<TData =
|
|
9
|
-
<TData =
|
|
10
|
-
<TData =
|
|
6
|
+
interface _UseQueryWithParams<TFn extends (params: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
7
|
+
<TData = TInitSelectData>(params: TParams): UseQueryResult<NoInfer<TData>, Error>;
|
|
8
|
+
<TData = TInitSelectData>(params: TParams, options?: Omit<DefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, client?: QueryClient): DefinedUseQueryResult<NoInfer<TData>, Error>;
|
|
9
|
+
<TData = TInitSelectData>(params: TParams, options?: Omit<UndefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, client?: QueryClient): UseQueryResult<NoInfer<TData>, Error>;
|
|
10
|
+
<TData = TInitSelectData>(params: TParams, options?: Omit<UseQueryOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, client?: QueryClient): UseQueryResult<NoInfer<TData>, Error>;
|
|
11
11
|
}
|
|
12
|
-
export interface UseQueryWithParams<TFn extends (params: any) => any
|
|
12
|
+
export interface UseQueryWithParams<TFn extends (params: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _UseQueryWithParams<TFn, TInitSelectData> {
|
|
13
13
|
}
|
|
14
14
|
/** 参数可选的 useQuery */
|
|
15
|
-
interface _UseQueryWithOptionalParams<TFn extends (params?: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
16
|
-
<TData =
|
|
17
|
-
<TData =
|
|
18
|
-
<TData =
|
|
19
|
-
<TData =
|
|
15
|
+
interface _UseQueryWithOptionalParams<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
16
|
+
<TData = TInitSelectData>(params?: TParams): UseQueryResult<NoInfer<TData>, Error>;
|
|
17
|
+
<TData = TInitSelectData>(params?: TParams, options?: Omit<DefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, client?: QueryClient): DefinedUseQueryResult<NoInfer<TData>, Error>;
|
|
18
|
+
<TData = TInitSelectData>(params?: TParams, options?: Omit<UndefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, client?: QueryClient): UseQueryResult<NoInfer<TData>, Error>;
|
|
19
|
+
<TData = TInitSelectData>(params?: TParams, options?: Omit<UseQueryOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, client?: QueryClient): UseQueryResult<NoInfer<TData>, Error>;
|
|
20
20
|
}
|
|
21
|
-
export interface UseQueryWithOptionalParams<TFn extends (params?: any) => any
|
|
21
|
+
export interface UseQueryWithOptionalParams<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _UseQueryWithOptionalParams<TFn, TInitSelectData> {
|
|
22
22
|
}
|
|
23
23
|
/** 根据参数是否必需,选择不同的 useQuery */
|
|
24
|
-
export type UseQuery<TFn extends (param: any) => any
|
|
24
|
+
export type UseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> = IsParamRequired<TFn> extends true ? UseQueryWithParams<TFn, TInitSelectData> : UseQueryWithOptionalParams<TFn, TInitSelectData>;
|
|
25
25
|
/** 传递了初始化参数的 createUseQuery 参数 */
|
|
26
|
-
export interface _CreateUseQueryDefinedInitialDataParams<TFn extends (param: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> extends Omit<DefinedInitialDataOptions<TResponse, Error,
|
|
26
|
+
export interface _CreateUseQueryDefinedInitialDataParams<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> extends Omit<DefinedInitialDataOptions<TResponse, Error, TInitSelectData, [string, TParams]>, "queryKey" | "queryFn"> {
|
|
27
27
|
queryFn: TFn;
|
|
28
28
|
queryKey: string;
|
|
29
29
|
}
|
|
30
|
-
export interface CreateUseQueryDefinedInitialDataParams<TFn extends (param: any) => any
|
|
30
|
+
export interface CreateUseQueryDefinedInitialDataParams<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _CreateUseQueryDefinedInitialDataParams<TFn, TInitSelectData> {
|
|
31
31
|
}
|
|
32
32
|
/** 传递了初始化参数的参数必需的 useQuery */
|
|
33
|
-
interface _UseQueryDefinedInitialDataWithParams<TFn extends (params: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
34
|
-
<TData =
|
|
33
|
+
interface _UseQueryDefinedInitialDataWithParams<TFn extends (params: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
34
|
+
<TData = TInitSelectData>(params: TParams, options?: StrictPartial<Omit<DefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, "initialData">, client?: QueryClient): DefinedUseQueryResult<NoInfer<TData>, Error>;
|
|
35
35
|
}
|
|
36
|
-
export interface UseQueryDefinedInitialDataWithParams<TFn extends (params: any) => any
|
|
36
|
+
export interface UseQueryDefinedInitialDataWithParams<TFn extends (params: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _UseQueryDefinedInitialDataWithParams<TFn, TInitSelectData> {
|
|
37
37
|
}
|
|
38
38
|
/** 传递了初始化参数的参数可选的 useQuery */
|
|
39
|
-
interface _UseQueryDefinedInitialDataWithOptionalParams<TFn extends (params?: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
40
|
-
<TData =
|
|
39
|
+
interface _UseQueryDefinedInitialDataWithOptionalParams<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
40
|
+
<TData = TInitSelectData>(params?: TParams, options?: StrictPartial<Omit<DefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, "initialData">, client?: QueryClient): DefinedUseQueryResult<NoInfer<TData>, Error>;
|
|
41
41
|
}
|
|
42
|
-
export interface UseQueryDefinedInitialDataWithOptionalParams<TFn extends (params?: any) => any
|
|
42
|
+
export interface UseQueryDefinedInitialDataWithOptionalParams<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _UseQueryDefinedInitialDataWithOptionalParams<TFn, TInitSelectData> {
|
|
43
43
|
}
|
|
44
44
|
/** 根据参数是否必需,选择不同的 useQuery */
|
|
45
|
-
export type UseQueryDefinedInitialData<TFn extends (params?: any) => any
|
|
45
|
+
export type UseQueryDefinedInitialData<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> = IsParamRequired<TFn> extends true ? UseQueryDefinedInitialDataWithParams<TFn, TInitSelectData> : UseQueryDefinedInitialDataWithOptionalParams<TFn, TInitSelectData>;
|
|
46
46
|
/** 未传递初始化参数的 createUseQuery 参数 */
|
|
47
|
-
export interface _CreateUseQueryUndefinedInitialDataParams<TFn extends (param: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> extends Omit<UndefinedInitialDataOptions<TResponse, Error,
|
|
47
|
+
export interface _CreateUseQueryUndefinedInitialDataParams<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> extends Omit<UndefinedInitialDataOptions<TResponse, Error, TInitSelectData, [string, TParams]>, "queryKey" | "queryFn"> {
|
|
48
48
|
queryFn: TFn;
|
|
49
49
|
queryKey: string;
|
|
50
50
|
}
|
|
51
|
-
export interface CreateUseQueryUndefinedInitialDataParams<TFn extends (param: any) => any
|
|
51
|
+
export interface CreateUseQueryUndefinedInitialDataParams<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _CreateUseQueryUndefinedInitialDataParams<TFn, TInitSelectData> {
|
|
52
52
|
}
|
|
53
53
|
/** 未传递初始化参数的参数必需的 useQuery */
|
|
54
|
-
interface _UseQueryUndefinedInitialDataWithParams<TFn extends (params: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
55
|
-
<TData =
|
|
54
|
+
interface _UseQueryUndefinedInitialDataWithParams<TFn extends (params: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
55
|
+
<TData = TInitSelectData>(params: TParams, options?: Omit<UndefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, client?: QueryClient): UseQueryResult<NoInfer<TData>, Error>;
|
|
56
56
|
}
|
|
57
|
-
export interface UseQueryUndefinedInitialDataWithParams<TFn extends (params: any) => any
|
|
57
|
+
export interface UseQueryUndefinedInitialDataWithParams<TFn extends (params: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _UseQueryUndefinedInitialDataWithParams<TFn, TInitSelectData> {
|
|
58
58
|
}
|
|
59
59
|
/** 未传递初始化参数的参数可选的 useQuery */
|
|
60
|
-
interface _UseQueryUndefinedInitialDataWithOptionalParams<TFn extends (params: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
61
|
-
<TData =
|
|
60
|
+
interface _UseQueryUndefinedInitialDataWithOptionalParams<TFn extends (params: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> {
|
|
61
|
+
<TData = TInitSelectData>(params?: TParams, options?: Omit<UndefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, client?: QueryClient): UseQueryResult<NoInfer<TData>, Error>;
|
|
62
62
|
}
|
|
63
|
-
export interface UseQueryUndefinedInitialDataWithOptionalParams<TFn extends (params?: any) => any
|
|
63
|
+
export interface UseQueryUndefinedInitialDataWithOptionalParams<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _UseQueryUndefinedInitialDataWithOptionalParams<TFn, TInitSelectData> {
|
|
64
64
|
}
|
|
65
65
|
/** 根据参数是否必需,选择不同的 useQuery */
|
|
66
|
-
export type UseQueryUndefinedInitialData<TFn extends (params?: any) => any
|
|
67
|
-
export interface _CreateUseQueryParams<TFn extends (param: any) => any, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> extends Omit<UseQueryOptions<TResponse, Error,
|
|
66
|
+
export type UseQueryUndefinedInitialData<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> = IsParamRequired<TFn> extends true ? UseQueryUndefinedInitialDataWithParams<TFn, TInitSelectData> : UseQueryUndefinedInitialDataWithOptionalParams<TFn, TInitSelectData>;
|
|
67
|
+
export interface _CreateUseQueryParams<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>, TParams = Parameters<TFn>[0], TResponse = Awaited<ReturnType<TFn>>> extends Omit<UseQueryOptions<TResponse, Error, TInitSelectData, [string, TParams]>, "queryKey" | "queryFn"> {
|
|
68
68
|
queryFn: TFn;
|
|
69
69
|
queryKey: string;
|
|
70
70
|
}
|
|
71
|
-
export interface CreateUseQueryParams<TFn extends (param: any) => any
|
|
71
|
+
export interface CreateUseQueryParams<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _CreateUseQueryParams<TFn, TInitSelectData> {
|
|
72
72
|
}
|
|
73
|
-
export declare function createUseQuery<TFn extends (param: any) => any
|
|
74
|
-
export declare function createUseQuery<TFn extends (param: any) => any
|
|
75
|
-
export declare function createUseQuery<TFn extends (param: any) => any
|
|
73
|
+
export declare function createUseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>>(params: CreateUseQueryDefinedInitialDataParams<TFn, TInitSelectData>): UseQueryDefinedInitialData<TFn, TInitSelectData>;
|
|
74
|
+
export declare function createUseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>>(pararm: CreateUseQueryUndefinedInitialDataParams<TFn, TInitSelectData>): UseQueryUndefinedInitialData<TFn, TInitSelectData>;
|
|
75
|
+
export declare function createUseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>>(pararm: CreateUseQueryParams<TFn, TInitSelectData>): UseQuery<TFn, TInitSelectData>;
|
|
76
76
|
export {};
|
package/package.json
CHANGED
|
@@ -15,149 +15,219 @@ export type IsParamRequired<TFn extends (params: any) => any> = Parameters<TFn>
|
|
|
15
15
|
// 要在第一个加一个重载,因为 options 是可选的,如果不加这个重载,类型会任务是 DefinedInitialDataOptions,造成返回类型必定不为 undefined
|
|
16
16
|
|
|
17
17
|
/** 参数必须的 useQuery */
|
|
18
|
-
interface _UseQueryWithParams<
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
interface _UseQueryWithParams<
|
|
19
|
+
TFn extends (params: any) => any,
|
|
20
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
21
|
+
TParams = Parameters<TFn>[0],
|
|
22
|
+
TResponse = Awaited<ReturnType<TFn>>,
|
|
23
|
+
> {
|
|
24
|
+
<TData = TInitSelectData>(params: TParams): UseQueryResult<NoInfer<TData>, Error>
|
|
25
|
+
<TData = TInitSelectData>(
|
|
21
26
|
params: TParams,
|
|
22
27
|
options?: Omit<DefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">,
|
|
23
28
|
client?: QueryClient,
|
|
24
29
|
): DefinedUseQueryResult<NoInfer<TData>, Error>
|
|
25
|
-
<TData =
|
|
30
|
+
<TData = TInitSelectData>(
|
|
26
31
|
params: TParams,
|
|
27
32
|
options?: Omit<UndefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">,
|
|
28
33
|
client?: QueryClient,
|
|
29
34
|
): UseQueryResult<NoInfer<TData>, Error>
|
|
30
|
-
<TData =
|
|
35
|
+
<TData = TInitSelectData>(
|
|
31
36
|
params: TParams,
|
|
32
37
|
options?: Omit<UseQueryOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">,
|
|
33
38
|
client?: QueryClient,
|
|
34
39
|
): UseQueryResult<NoInfer<TData>, Error>
|
|
35
40
|
}
|
|
36
41
|
|
|
37
|
-
export interface UseQueryWithParams<TFn extends (params: any) => any
|
|
42
|
+
export interface UseQueryWithParams<TFn extends (params: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _UseQueryWithParams<
|
|
43
|
+
TFn,
|
|
44
|
+
TInitSelectData
|
|
45
|
+
> {}
|
|
38
46
|
|
|
39
47
|
/** 参数可选的 useQuery */
|
|
40
|
-
interface _UseQueryWithOptionalParams<
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
interface _UseQueryWithOptionalParams<
|
|
49
|
+
TFn extends (params?: any) => any,
|
|
50
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
51
|
+
TParams = Parameters<TFn>[0],
|
|
52
|
+
TResponse = Awaited<ReturnType<TFn>>,
|
|
53
|
+
> {
|
|
54
|
+
<TData = TInitSelectData>(params?: TParams): UseQueryResult<NoInfer<TData>, Error>
|
|
55
|
+
<TData = TInitSelectData>(
|
|
43
56
|
params?: TParams,
|
|
44
57
|
options?: Omit<DefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">,
|
|
45
58
|
client?: QueryClient,
|
|
46
59
|
): DefinedUseQueryResult<NoInfer<TData>, Error>
|
|
47
|
-
<TData =
|
|
60
|
+
<TData = TInitSelectData>(
|
|
48
61
|
params?: TParams,
|
|
49
62
|
options?: Omit<UndefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">,
|
|
50
63
|
client?: QueryClient,
|
|
51
64
|
): UseQueryResult<NoInfer<TData>, Error>
|
|
52
|
-
<TData =
|
|
65
|
+
<TData = TInitSelectData>(
|
|
53
66
|
params?: TParams,
|
|
54
67
|
options?: Omit<UseQueryOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">,
|
|
55
68
|
client?: QueryClient,
|
|
56
69
|
): UseQueryResult<NoInfer<TData>, Error>
|
|
57
70
|
}
|
|
58
71
|
|
|
59
|
-
export interface UseQueryWithOptionalParams<TFn extends (params?: any) => any
|
|
72
|
+
export interface UseQueryWithOptionalParams<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _UseQueryWithOptionalParams<
|
|
73
|
+
TFn,
|
|
74
|
+
TInitSelectData
|
|
75
|
+
> {}
|
|
60
76
|
|
|
61
77
|
/** 根据参数是否必需,选择不同的 useQuery */
|
|
62
|
-
export type UseQuery<TFn extends (param: any) => any
|
|
78
|
+
export type UseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> =
|
|
79
|
+
IsParamRequired<TFn> extends true ? UseQueryWithParams<TFn, TInitSelectData> : UseQueryWithOptionalParams<TFn, TInitSelectData>
|
|
63
80
|
|
|
64
81
|
/** 传递了初始化参数的 createUseQuery 参数 */
|
|
65
82
|
export interface _CreateUseQueryDefinedInitialDataParams<
|
|
66
83
|
TFn extends (param: any) => any,
|
|
84
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
67
85
|
TParams = Parameters<TFn>[0],
|
|
68
86
|
TResponse = Awaited<ReturnType<TFn>>,
|
|
69
|
-
> extends Omit<DefinedInitialDataOptions<TResponse, Error,
|
|
87
|
+
> extends Omit<DefinedInitialDataOptions<TResponse, Error, TInitSelectData, [string, TParams]>, "queryKey" | "queryFn"> {
|
|
70
88
|
queryFn: TFn
|
|
71
89
|
queryKey: string
|
|
72
90
|
}
|
|
73
91
|
|
|
74
|
-
export interface CreateUseQueryDefinedInitialDataParams<
|
|
92
|
+
export interface CreateUseQueryDefinedInitialDataParams<
|
|
93
|
+
TFn extends (param: any) => any,
|
|
94
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
95
|
+
> extends _CreateUseQueryDefinedInitialDataParams<TFn, TInitSelectData> {}
|
|
75
96
|
|
|
76
97
|
/** 传递了初始化参数的参数必需的 useQuery */
|
|
77
|
-
interface _UseQueryDefinedInitialDataWithParams<
|
|
78
|
-
|
|
98
|
+
interface _UseQueryDefinedInitialDataWithParams<
|
|
99
|
+
TFn extends (params: any) => any,
|
|
100
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
101
|
+
TParams = Parameters<TFn>[0],
|
|
102
|
+
TResponse = Awaited<ReturnType<TFn>>,
|
|
103
|
+
> {
|
|
104
|
+
<TData = TInitSelectData>(
|
|
79
105
|
params: TParams,
|
|
80
106
|
options?: StrictPartial<Omit<DefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, "initialData">,
|
|
81
107
|
client?: QueryClient,
|
|
82
108
|
): DefinedUseQueryResult<NoInfer<TData>, Error>
|
|
83
109
|
}
|
|
84
110
|
|
|
85
|
-
export interface UseQueryDefinedInitialDataWithParams<
|
|
111
|
+
export interface UseQueryDefinedInitialDataWithParams<
|
|
112
|
+
TFn extends (params: any) => any,
|
|
113
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
114
|
+
> extends _UseQueryDefinedInitialDataWithParams<TFn, TInitSelectData> {}
|
|
86
115
|
|
|
87
116
|
/** 传递了初始化参数的参数可选的 useQuery */
|
|
88
|
-
interface _UseQueryDefinedInitialDataWithOptionalParams<
|
|
89
|
-
|
|
117
|
+
interface _UseQueryDefinedInitialDataWithOptionalParams<
|
|
118
|
+
TFn extends (params?: any) => any,
|
|
119
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
120
|
+
TParams = Parameters<TFn>[0],
|
|
121
|
+
TResponse = Awaited<ReturnType<TFn>>,
|
|
122
|
+
> {
|
|
123
|
+
<TData = TInitSelectData>(
|
|
90
124
|
params?: TParams,
|
|
91
125
|
options?: StrictPartial<Omit<DefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">, "initialData">,
|
|
92
126
|
client?: QueryClient,
|
|
93
127
|
): DefinedUseQueryResult<NoInfer<TData>, Error>
|
|
94
128
|
}
|
|
95
129
|
|
|
96
|
-
export interface UseQueryDefinedInitialDataWithOptionalParams<
|
|
130
|
+
export interface UseQueryDefinedInitialDataWithOptionalParams<
|
|
131
|
+
TFn extends (params?: any) => any,
|
|
132
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
133
|
+
> extends _UseQueryDefinedInitialDataWithOptionalParams<TFn, TInitSelectData> {}
|
|
97
134
|
|
|
98
135
|
/** 根据参数是否必需,选择不同的 useQuery */
|
|
99
|
-
export type UseQueryDefinedInitialData<TFn extends (params?: any) => any
|
|
100
|
-
IsParamRequired<TFn> extends true
|
|
136
|
+
export type UseQueryDefinedInitialData<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> =
|
|
137
|
+
IsParamRequired<TFn> extends true
|
|
138
|
+
? UseQueryDefinedInitialDataWithParams<TFn, TInitSelectData>
|
|
139
|
+
: UseQueryDefinedInitialDataWithOptionalParams<TFn, TInitSelectData>
|
|
101
140
|
|
|
102
141
|
/** 未传递初始化参数的 createUseQuery 参数 */
|
|
103
142
|
export interface _CreateUseQueryUndefinedInitialDataParams<
|
|
104
143
|
TFn extends (param: any) => any,
|
|
144
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
105
145
|
TParams = Parameters<TFn>[0],
|
|
106
146
|
TResponse = Awaited<ReturnType<TFn>>,
|
|
107
|
-
> extends Omit<UndefinedInitialDataOptions<TResponse, Error,
|
|
147
|
+
> extends Omit<UndefinedInitialDataOptions<TResponse, Error, TInitSelectData, [string, TParams]>, "queryKey" | "queryFn"> {
|
|
108
148
|
queryFn: TFn
|
|
109
149
|
queryKey: string
|
|
110
150
|
}
|
|
111
151
|
|
|
112
|
-
export interface CreateUseQueryUndefinedInitialDataParams<
|
|
152
|
+
export interface CreateUseQueryUndefinedInitialDataParams<
|
|
153
|
+
TFn extends (param: any) => any,
|
|
154
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
155
|
+
> extends _CreateUseQueryUndefinedInitialDataParams<TFn, TInitSelectData> {}
|
|
113
156
|
|
|
114
157
|
/** 未传递初始化参数的参数必需的 useQuery */
|
|
115
|
-
interface _UseQueryUndefinedInitialDataWithParams<
|
|
116
|
-
|
|
158
|
+
interface _UseQueryUndefinedInitialDataWithParams<
|
|
159
|
+
TFn extends (params: any) => any,
|
|
160
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
161
|
+
TParams = Parameters<TFn>[0],
|
|
162
|
+
TResponse = Awaited<ReturnType<TFn>>,
|
|
163
|
+
> {
|
|
164
|
+
<TData = TInitSelectData>(
|
|
117
165
|
params: TParams,
|
|
118
166
|
options?: Omit<UndefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">,
|
|
119
167
|
client?: QueryClient,
|
|
120
|
-
):
|
|
168
|
+
): UseQueryResult<NoInfer<TData>, Error>
|
|
121
169
|
}
|
|
122
170
|
|
|
123
|
-
export interface UseQueryUndefinedInitialDataWithParams<
|
|
171
|
+
export interface UseQueryUndefinedInitialDataWithParams<
|
|
172
|
+
TFn extends (params: any) => any,
|
|
173
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
174
|
+
> extends _UseQueryUndefinedInitialDataWithParams<TFn, TInitSelectData> {}
|
|
124
175
|
|
|
125
176
|
/** 未传递初始化参数的参数可选的 useQuery */
|
|
126
177
|
interface _UseQueryUndefinedInitialDataWithOptionalParams<
|
|
127
178
|
TFn extends (params: any) => any,
|
|
179
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
128
180
|
TParams = Parameters<TFn>[0],
|
|
129
181
|
TResponse = Awaited<ReturnType<TFn>>,
|
|
130
182
|
> {
|
|
131
|
-
<TData =
|
|
183
|
+
<TData = TInitSelectData>(
|
|
132
184
|
params?: TParams,
|
|
133
185
|
options?: Omit<UndefinedInitialDataOptions<TResponse, Error, TData, [string, TParams]>, "queryKey" | "queryFn">,
|
|
134
186
|
client?: QueryClient,
|
|
135
|
-
):
|
|
187
|
+
): UseQueryResult<NoInfer<TData>, Error>
|
|
136
188
|
}
|
|
137
189
|
|
|
138
190
|
export interface UseQueryUndefinedInitialDataWithOptionalParams<
|
|
139
191
|
TFn extends (params?: any) => any,
|
|
140
|
-
|
|
192
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
193
|
+
> extends _UseQueryUndefinedInitialDataWithOptionalParams<TFn, TInitSelectData> {}
|
|
141
194
|
|
|
142
195
|
/** 根据参数是否必需,选择不同的 useQuery */
|
|
143
|
-
export type UseQueryUndefinedInitialData<TFn extends (params?: any) => any
|
|
144
|
-
IsParamRequired<TFn> extends true
|
|
196
|
+
export type UseQueryUndefinedInitialData<TFn extends (params?: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> =
|
|
197
|
+
IsParamRequired<TFn> extends true
|
|
198
|
+
? UseQueryUndefinedInitialDataWithParams<TFn, TInitSelectData>
|
|
199
|
+
: UseQueryUndefinedInitialDataWithOptionalParams<TFn, TInitSelectData>
|
|
145
200
|
|
|
146
|
-
export interface _CreateUseQueryParams<
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
>
|
|
201
|
+
export interface _CreateUseQueryParams<
|
|
202
|
+
TFn extends (param: any) => any,
|
|
203
|
+
TInitSelectData = Awaited<ReturnType<TFn>>,
|
|
204
|
+
TParams = Parameters<TFn>[0],
|
|
205
|
+
TResponse = Awaited<ReturnType<TFn>>,
|
|
206
|
+
> extends Omit<UseQueryOptions<TResponse, Error, TInitSelectData, [string, TParams]>, "queryKey" | "queryFn"> {
|
|
150
207
|
queryFn: TFn
|
|
151
208
|
queryKey: string
|
|
152
209
|
}
|
|
153
210
|
|
|
154
|
-
export interface CreateUseQueryParams<TFn extends (param: any) => any
|
|
211
|
+
export interface CreateUseQueryParams<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>> extends _CreateUseQueryParams<
|
|
212
|
+
TFn,
|
|
213
|
+
TInitSelectData
|
|
214
|
+
> {}
|
|
155
215
|
|
|
156
216
|
// 根据是否传递初始化参数,选择不同的 createUseQuery,目前存在一个问题,UndefinedInitialDataOptions 和 UseQueryOptions 是完全一致的,所以匹配不到第三种可能,但这是 @tanstack/react-query 的问题
|
|
157
|
-
export function createUseQuery<TFn extends (param: any) => any
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
export function createUseQuery<TFn extends (param: any) => any
|
|
217
|
+
export function createUseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>>(
|
|
218
|
+
params: CreateUseQueryDefinedInitialDataParams<TFn, TInitSelectData>,
|
|
219
|
+
): UseQueryDefinedInitialData<TFn, TInitSelectData>
|
|
220
|
+
export function createUseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>>(
|
|
221
|
+
pararm: CreateUseQueryUndefinedInitialDataParams<TFn, TInitSelectData>,
|
|
222
|
+
): UseQueryUndefinedInitialData<TFn, TInitSelectData>
|
|
223
|
+
export function createUseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>>(
|
|
224
|
+
pararm: CreateUseQueryParams<TFn, TInitSelectData>,
|
|
225
|
+
): UseQuery<TFn, TInitSelectData>
|
|
226
|
+
export function createUseQuery<TFn extends (param: any) => any, TInitSelectData = Awaited<ReturnType<TFn>>>({
|
|
227
|
+
queryFn,
|
|
228
|
+
queryKey,
|
|
229
|
+
...rest
|
|
230
|
+
}: CreateUseQueryParams<TFn, TInitSelectData>): UseQuery<TFn, TInitSelectData> {
|
|
161
231
|
return function useRequest(params: any, options?: any, client?: QueryClient) {
|
|
162
232
|
return useQuery(
|
|
163
233
|
{
|