source: node_modules/@reduxjs/toolkit/src/query/react/namedHooks.ts

Last change on this file was a762898, checked in by istevanoska <ilinastevanoska@…>, 5 months ago

Added visualizations

  • Property mode set to 100644
File size: 1.7 KB
RevLine 
[a762898]1import type {
2 DefinitionType,
3 EndpointDefinitions,
4 MutationDefinition,
5 QueryDefinition,
6 InfiniteQueryDefinition,
7} from '@reduxjs/toolkit/query'
8import type {
9 UseInfiniteQuery,
10 UseLazyQuery,
11 UseMutation,
12 UseQuery,
13} from './buildHooks'
14
15type QueryHookNames<Definitions extends EndpointDefinitions> = {
16 [K in keyof Definitions as Definitions[K] extends {
17 type: DefinitionType.query
18 }
19 ? `use${Capitalize<K & string>}Query`
20 : never]: UseQuery<
21 Extract<Definitions[K], QueryDefinition<any, any, any, any>>
22 >
23}
24
25type LazyQueryHookNames<Definitions extends EndpointDefinitions> = {
26 [K in keyof Definitions as Definitions[K] extends {
27 type: DefinitionType.query
28 }
29 ? `useLazy${Capitalize<K & string>}Query`
30 : never]: UseLazyQuery<
31 Extract<Definitions[K], QueryDefinition<any, any, any, any>>
32 >
33}
34
35type InfiniteQueryHookNames<Definitions extends EndpointDefinitions> = {
36 [K in keyof Definitions as Definitions[K] extends {
37 type: DefinitionType.infinitequery
38 }
39 ? `use${Capitalize<K & string>}InfiniteQuery`
40 : never]: UseInfiniteQuery<
41 Extract<Definitions[K], InfiniteQueryDefinition<any, any, any, any, any>>
42 >
43}
44
45type MutationHookNames<Definitions extends EndpointDefinitions> = {
46 [K in keyof Definitions as Definitions[K] extends {
47 type: DefinitionType.mutation
48 }
49 ? `use${Capitalize<K & string>}Mutation`
50 : never]: UseMutation<
51 Extract<Definitions[K], MutationDefinition<any, any, any, any>>
52 >
53}
54
55export type HooksWithUniqueNames<Definitions extends EndpointDefinitions> =
56 QueryHookNames<Definitions> &
57 LazyQueryHookNames<Definitions> &
58 InfiniteQueryHookNames<Definitions> &
59 MutationHookNames<Definitions>
Note: See TracBrowser for help on using the repository browser.