@@ -6,26 +6,37 @@ import type {
6
6
QueryDefinition ,
7
7
} from '@reduxjs/toolkit/query'
8
8
9
+ type QueryHookNames < Definitions extends EndpointDefinitions > = {
10
+ [ K in keyof Definitions as Definitions [ K ] extends {
11
+ type : DefinitionType . query
12
+ }
13
+ ? `use${Capitalize < K & string > } Query`
14
+ : never ] : UseQuery <
15
+ Extract < Definitions [ K ] , QueryDefinition < any , any , any , any > >
16
+ >
17
+ }
18
+
19
+ type LazyQueryHookNames < Definitions extends EndpointDefinitions > = {
20
+ [ K in keyof Definitions as Definitions [ K ] extends {
21
+ type : DefinitionType . query
22
+ }
23
+ ? `useLazy${Capitalize < K & string > } Query`
24
+ : never ] : UseLazyQuery <
25
+ Extract < Definitions [ K ] , QueryDefinition < any , any , any , any > >
26
+ >
27
+ }
28
+
29
+ type MutationHookNames < Definitions extends EndpointDefinitions > = {
30
+ [ K in keyof Definitions as Definitions [ K ] extends {
31
+ type : DefinitionType . mutation
32
+ }
33
+ ? `use${Capitalize < K & string > } Mutation`
34
+ : never ] : UseMutation <
35
+ Extract < Definitions [ K ] , MutationDefinition < any , any , any , any > >
36
+ >
37
+ }
38
+
9
39
export type HooksWithUniqueNames < Definitions extends EndpointDefinitions > =
10
- keyof Definitions extends infer Keys
11
- ? Keys extends string
12
- ? Definitions [ Keys ] extends { type : DefinitionType . query }
13
- ? {
14
- [ K in Keys as `use${Capitalize < K > } Query`] : UseQuery <
15
- Extract < Definitions [ K ] , QueryDefinition < any , any , any , any > >
16
- >
17
- } &
18
- {
19
- [ K in Keys as `useLazy${Capitalize < K > } Query`] : UseLazyQuery <
20
- Extract < Definitions [ K ] , QueryDefinition < any , any , any , any > >
21
- >
22
- }
23
- : Definitions [ Keys ] extends { type : DefinitionType . mutation }
24
- ? {
25
- [ K in Keys as `use${Capitalize < K > } Mutation`] : UseMutation <
26
- Extract < Definitions [ K ] , MutationDefinition < any , any , any , any > >
27
- >
28
- }
29
- : never
30
- : never
31
- : never
40
+ QueryHookNames < Definitions > &
41
+ LazyQueryHookNames < Definitions > &
42
+ MutationHookNames < Definitions >
0 commit comments