UNPKG

@apollo/federation

Version:
28 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.requiresUsedOnBase = void 0; const graphql_1 = require("graphql"); const utils_1 = require("../../utils"); const requiresUsedOnBase = ({ name: serviceName, typeDefs, }) => { const errors = []; (0, graphql_1.visit)(typeDefs, { ObjectTypeDefinition(typeDefinition) { if (typeDefinition.fields) { for (const field of typeDefinition.fields) { if (field.directives) { for (const directive of field.directives) { const name = directive.name.value; if (name === 'requires') { errors.push((0, utils_1.errorWithCode)('REQUIRES_USED_ON_BASE', (0, utils_1.logServiceAndType)(serviceName, typeDefinition.name.value, field.name.value) + `Found extraneous @requires directive. @requires cannot be used on base types.`, (0, utils_1.findDirectivesOnNode)(field, 'requires'))); } } } } } }, }); return errors; }; exports.requiresUsedOnBase = requiresUsedOnBase; //# sourceMappingURL=requiresUsedOnBase.js.map