import { OperationVariables } from '@apollo/client'; import { DocumentNode } from 'graphql'; import getApolloClient from '~/utils/apolloClient'; import { isDefined } from '~/utils/isDefined'; export const callQuery = async ( query: DocumentNode, variables?: OperationVariables, ): Promise => { try { const client = await getApolloClient(); const { data } = await client.query({ query, variables }); if (isDefined(data)) return data; else return null; } catch (error) { return null; } }; export const callMutation = async ( mutation: DocumentNode, variables?: OperationVariables, ): Promise => { try { const client = await getApolloClient(); const { data } = await client.mutate({ mutation, variables }); if (isDefined(data)) return data; else return null; } catch (error) { return null; } };