import { ApolloError, ApolloQueryResult, gql, OperationVariables, useQuery } from '@apollo/client'; import { UserOneQuery } from '@generated/types'; import { userFragment } from '../fragments'; export function useUserOneQuery({ input, skip }: { readonly input: { readonly id: string } | { readonly username: string }; readonly skip?: boolean; }): { data: UserOneQuery | undefined; loading: boolean; error: ApolloError | undefined; refetch: ( variables?: Partial | undefined ) => Promise>; } { const { data, loading, error, refetch } = useQuery(query, { variables: { input }, skip }); return { data, loading, error, refetch }; } const query = gql` query UserOne($input: UserOneInput!) { userOne(input: $input) { ...User } } ${userFragment} `;