UNPKG

graphql-mocks

Version:
43 lines (30 loc) 938 B
'use strict'; 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