diff options
Diffstat (limited to 'app/assets/javascripts/boards/graphql.js')
-rw-r--r-- | app/assets/javascripts/boards/graphql.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/assets/javascripts/boards/graphql.js b/app/assets/javascripts/boards/graphql.js new file mode 100644 index 00000000000..d8d16184936 --- /dev/null +++ b/app/assets/javascripts/boards/graphql.js @@ -0,0 +1,22 @@ +import { IntrospectionFragmentMatcher, defaultDataIdFromObject } from 'apollo-cache-inmemory'; +import createDefaultClient from '~/lib/graphql'; +import introspectionQueryResultData from '~/sidebar/fragmentTypes.json'; + +const fragmentMatcher = new IntrospectionFragmentMatcher({ + introspectionQueryResultData, +}); + +export const gqlClient = createDefaultClient( + {}, + { + cacheConfig: { + dataIdFromObject: (object) => { + // eslint-disable-next-line no-underscore-dangle + return object.__typename === 'BoardList' ? object.iid : defaultDataIdFromObject(object); + }, + + fragmentMatcher, + }, + assumeImmutableResults: true, + }, +); |