debian-mirror-gitlab/app/assets/javascripts/ide/services/gql.js
2021-06-08 01:23:25 +05:30

21 lines
619 B
JavaScript

import { memoize } from 'lodash';
import createGqClient, { fetchPolicies } from '~/lib/graphql';
/**
* Returns a memoized client
*
* We defer creating the client so that importing this module does not cause any side-effects.
* Creating the client immediately caused issues with miragejs where the gql client uses the
* real fetch() instead of the shimmed one.
*/
const getClient = memoize(() =>
createGqClient(
{},
{
fetchPolicy: fetchPolicies.NO_CACHE,
},
),
);
export const query = (...args) => getClient().query(...args);
export const mutate = (...args) => getClient().mutate(...args);