Files
talk/client/coral-framework/services/graphql.js
T
2017-12-08 23:38:10 +01:00

24 lines
779 B
JavaScript

import {addTypenameToDocument} from 'apollo-client/queries/queryTransform';
/**
* createGraphQLService
* @param {string} basename base path of the url
* @return {Object} histor service
*/
export function createGraphQLService(registry) {
return {
registry,
resolveDocument(documentOrCallback, props, context) {
let document = typeof documentOrCallback === 'function'
? documentOrCallback(props, context)
: documentOrCallback;
document = registry.resolveFragments(document);
// We also add typenames to the document which apollo would usually do,
// but we also use the network interface in subscriptions directly
// which require the resolved typenames.
return addTypenameToDocument(document);
},
};
}