t-graphql
Version:
typed GraphQL - end-to-end type-safe GraphQL for TypeScript. Think tRPC, but GraphQL
15 lines (14 loc) • 730 B
TypeScript
import { AnyObjectQueryType } from '../queries/ObjectQueryType';
import { QueryResult } from '../types/QueryResult.type';
import { QueryVariables } from '../types/QueryVariables.type';
type OptionalKeys<T extends object> = {
[P in keyof T]: {} extends Pick<T, P> ? P : never;
}[keyof T];
export declare function useQuery<Q extends AnyObjectQueryType, Variables extends QueryVariables<Q>, QueryParameters extends [Exclude<keyof Variables, OptionalKeys<Variables>>] extends [never] ? {
variables?: Variables;
} : {
variables: Variables;
}>(queryType: Q, ...args: [Exclude<keyof Variables, OptionalKeys<Variables>>] extends [never] ? [QueryParameters] | [] : [QueryParameters]): {
data: QueryResult<Q>;
};
export {};