UNPKG

@apollo/federation

Version:
28 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.externalUsedOnBase = void 0; const graphql_1 = require("graphql"); const utils_1 = require("../../utils"); const externalUsedOnBase = ({ 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 === 'external') { errors.push((0, utils_1.errorWithCode)('EXTERNAL_USED_ON_BASE', (0, utils_1.logServiceAndType)(serviceName, typeDefinition.name.value, field.name.value) + `Found extraneous @external directive. @external cannot be used on base types.`, (0, utils_1.findDirectivesOnNode)(field, 'external'))); } } } } } }, }); return errors; }; exports.externalUsedOnBase = externalUsedOnBase; //# sourceMappingURL=externalUsedOnBase.js.map