Spaces:
Running
Running
| import type { | |
| DefinitionType, | |
| EndpointDefinitions, | |
| MutationDefinition, | |
| QueryDefinition, | |
| InfiniteQueryDefinition, | |
| } from '@reduxjs/toolkit/query' | |
| import type { | |
| UseInfiniteQuery, | |
| UseLazyQuery, | |
| UseMutation, | |
| UseQuery, | |
| } from './buildHooks' | |
| type QueryHookNames<Definitions extends EndpointDefinitions> = { | |
| [K in keyof Definitions as Definitions[K] extends { | |
| type: DefinitionType.query | |
| } | |
| ? `use${Capitalize<K & string>}Query` | |
| : never]: UseQuery< | |
| Extract<Definitions[K], QueryDefinition<any, any, any, any>> | |
| > | |
| } | |
| type LazyQueryHookNames<Definitions extends EndpointDefinitions> = { | |
| [K in keyof Definitions as Definitions[K] extends { | |
| type: DefinitionType.query | |
| } | |
| ? `useLazy${Capitalize<K & string>}Query` | |
| : never]: UseLazyQuery< | |
| Extract<Definitions[K], QueryDefinition<any, any, any, any>> | |
| > | |
| } | |
| type InfiniteQueryHookNames<Definitions extends EndpointDefinitions> = { | |
| [K in keyof Definitions as Definitions[K] extends { | |
| type: DefinitionType.infinitequery | |
| } | |
| ? `use${Capitalize<K & string>}InfiniteQuery` | |
| : never]: UseInfiniteQuery< | |
| Extract<Definitions[K], InfiniteQueryDefinition<any, any, any, any, any>> | |
| > | |
| } | |
| type MutationHookNames<Definitions extends EndpointDefinitions> = { | |
| [K in keyof Definitions as Definitions[K] extends { | |
| type: DefinitionType.mutation | |
| } | |
| ? `use${Capitalize<K & string>}Mutation` | |
| : never]: UseMutation< | |
| Extract<Definitions[K], MutationDefinition<any, any, any, any>> | |
| > | |
| } | |
| export type HooksWithUniqueNames<Definitions extends EndpointDefinitions> = | |
| QueryHookNames<Definitions> & | |
| LazyQueryHookNames<Definitions> & | |
| InfiniteQueryHookNames<Definitions> & | |
| MutationHookNames<Definitions> | |