UNPKG

923 BTypeScriptView Raw
1import type { UseMutation, UseLazyQuery, UseQuery } from '../buildHooks';
2import type { DefinitionType, EndpointDefinitions, MutationDefinition, QueryDefinition } from '@reduxjs/toolkit/dist/query/endpointDefinitions';
3export declare type HooksWithUniqueNames<Definitions extends EndpointDefinitions> = keyof Definitions extends infer Keys ? Keys extends string ? Definitions[Keys] extends {
4 type: DefinitionType.query;
5} ? {
6 [K in Keys as `use${Capitalize<K>}Query`]: UseQuery<Extract<Definitions[K], QueryDefinition<any, any, any, any>>>;
7} & {
8 [K in Keys as `useLazy${Capitalize<K>}Query`]: UseLazyQuery<Extract<Definitions[K], QueryDefinition<any, any, any, any>>>;
9} : Definitions[Keys] extends {
10 type: DefinitionType.mutation;
11} ? {
12 [K in Keys as `use${Capitalize<K>}Mutation`]: UseMutation<Extract<Definitions[K], MutationDefinition<any, any, any, any>>>;
13} : never : never : never;