graphql-mocks
Version:
Tools for setting up graphql test resolvers
43 lines (30 loc) • 938 B
JavaScript
Object.defineProperty(exports, '__esModule', {
value: true
});
var graphql = require('graphql');
var constants = require('./constants.js');
class UnionHighlighter {
constructor(targets) {
if (targets.length === 0) {
targets = [constants.HIGHLIGHT_ALL];
}
this.targets = targets;
}
mark(schema) {
return UnionHighlighter.expandTargets(schema, this.targets);
}
static expandTargets(schema, targets) {
const unionTypeNames = Object.values(schema.getTypeMap()).filter(graphql.isUnionType).map(union => union.name);
if (targets.includes(constants.HIGHLIGHT_ALL)) {
return unionTypeNames;
}
return unionTypeNames.filter(unionName => targets.includes(unionName));
}
}
const union = function type(...unionNames) {
return new UnionHighlighter(unionNames);
};
exports.UnionHighlighter = UnionHighlighter;
exports.union = union;
//# sourceMappingURL=union.js.map
;