UNPKG

@apollo/federation

Version:
34 lines 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.composeAndValidate = void 0; const compose_1 = require("./compose"); const validate_1 = require("./validate"); const normalize_1 = require("./normalize"); const utils_1 = require("./utils"); function composeAndValidate(serviceList) { const errors = (0, validate_1.validateServicesBeforeNormalization)(serviceList); const normalizedServiceList = serviceList.map(({ typeDefs, ...rest }) => ({ typeDefs: (0, normalize_1.normalizeTypeDefs)(typeDefs), ...rest })); errors.push(...(0, validate_1.validateServicesBeforeComposition)(normalizedServiceList)); const compositionResult = (0, compose_1.composeServices)(normalizedServiceList); if ((0, utils_1.compositionHasErrors)(compositionResult)) { errors.push(...compositionResult.errors); } errors.push(...(0, validate_1.validateComposedSchema)({ schema: compositionResult.schema, serviceList, })); if (errors.length > 0) { return { schema: compositionResult.schema, errors, }; } else { return compositionResult; } } exports.composeAndValidate = composeAndValidate; //# sourceMappingURL=composeAndValidate.js.map