apollo-client
Version:
A simple yet functional GraphQL client.
39 lines • 1.09 kB
JavaScript
;
var parser_1 = require('graphql/language/parser');
var cache = {};
function parseDocument(doc) {
if (cache[doc]) {
return cache[doc];
}
var parsed = parser_1.parse(doc);
if (!parsed || parsed.kind !== 'Document') {
throw new Error('Not a valid GraphQL document.');
}
cache[doc] = parsed;
return parsed;
}
function gql(literals) {
var substitutions = [];
for (var _i = 1; _i < arguments.length; _i++) {
substitutions[_i - 1] = arguments[_i];
}
var result = '';
for (var i = 0; i < substitutions.length; i++) {
result += literals[i];
result += substitutions[i];
}
result += literals[literals.length - 1];
return parseDocument(result);
}
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = gql;
function registerGqlTag() {
if (typeof window !== 'undefined') {
window['gql'] = gql;
}
else if (typeof global !== 'undefined') {
global['gql'] = gql;
}
}
exports.registerGqlTag = registerGqlTag;
//# sourceMappingURL=gql.js.map