import { OperationVariables } from '@apollo/client'; import { DocumentNode } from 'graphql'; import getApolloClient from '~/utils/apolloClient'; export const callQuery = async ( query: DocumentNode, variables?: OperationVariables, ): Promise => { const client = await getApolloClient(); const { data, error } = await client.query({ query, variables }); if (error) throw new Error(error.message); if (data) return data; return null; }; export const callMutation = async ( mutation: DocumentNode, variables?: OperationVariables, ): Promise => { const client = await getApolloClient(); const { data, errors } = await client.mutate({ mutation, variables }); if (errors) throw new Error(errors[0].message); if (data) return data; return null; };