UNPKG

@graphql-tools/load

Version:

A set of utils for faster development of GraphQL tools

36 lines (35 loc) 1.08 kB
import { env } from 'process'; import { Kind } from 'graphql'; /** * @internal */ export const filterKind = (content, filterKinds) => { if (content && content.definitions && content.definitions.length && filterKinds && filterKinds.length > 0) { const invalidDefinitions = []; const validDefinitions = []; for (const definitionNode of content.definitions) { if (filterKinds.includes(definitionNode.kind)) { invalidDefinitions.push(definitionNode); } else { validDefinitions.push(definitionNode); } } if (invalidDefinitions.length > 0) { if (env['DEBUG']) { for (const d of invalidDefinitions) { console.log(`Filtered document of kind ${d.kind} due to filter policy (${filterKinds.join(', ')})`); } } } return { kind: Kind.DOCUMENT, definitions: validDefinitions, }; } return content; };