UNPKG

graphql-mocks

Version:
39 lines (28 loc) 996 B
import { isInterfaceType } from 'graphql'; import { HIGHLIGHT_ALL } from './constants.js'; class InterfaceHighlighter { constructor(targets) { if (targets.length === 0) { targets = [HIGHLIGHT_ALL]; } this.targets = targets; } mark(schema) { return InterfaceHighlighter.expandTargets(schema, this.targets); } static expandTargets(schema, targets) { var interfaceTypeNames = Object.values(schema.getTypeMap()).filter(isInterfaceType).map(i => i.name); if (targets.includes(HIGHLIGHT_ALL)) { return interfaceTypeNames; } return interfaceTypeNames.filter(interfaceName => targets.includes(interfaceName)); } } var interfaces = function type() { for (var _len = arguments.length, interfaceNames = new Array(_len), _key = 0; _key < _len; _key++) { interfaceNames[_key] = arguments[_key]; } return new InterfaceHighlighter(interfaceNames); }; export { InterfaceHighlighter, interfaces }; //# sourceMappingURL=interfaces.js.map