UNPKG

@theguild/federation-composition

Version:

Open Source Composition library for Apollo Federation

37 lines (36 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stripFederationFromSupergraph = exports.isDirectiveDefinition = void 0; const graphql_1 = require("graphql"); function isDirectiveDefinition(node) { return node.kind === graphql_1.Kind.DIRECTIVE_DEFINITION; } exports.isDirectiveDefinition = isDirectiveDefinition; function stripFederationFromSupergraph(supergraph) { function remove() { return null; } return (0, graphql_1.visit)(supergraph, { DirectiveDefinition: remove, Directive: remove, SchemaDefinition: remove, SchemaExtension: remove, EnumTypeDefinition: node => { if (node.name.value === 'core__Purpose' || node.name.value === 'join__Graph' || node.name.value === 'link__Purpose') { return null; } return node; }, ScalarTypeDefinition: node => { if (node.name.value === '_FieldSet' || node.name.value === 'link__Import' || node.name.value === 'join__FieldSet') { return null; } return node; }, }); } exports.stripFederationFromSupergraph = stripFederationFromSupergraph;