UNPKG

@graphql-tools/optimize

Version:

A set of utils for faster development of GraphQL tools

32 lines (31 loc) 1.06 kB
import { visit } from 'graphql'; /** * This optimizer removes "description" fields from schema and executable AST nodes. * @param input */ export const removeDescriptions = input => { function transformNode(node) { if (!node.description) { return node; } const { description, ...rest } = node; return rest; } return visit(input, { ScalarTypeDefinition: transformNode, ObjectTypeDefinition: transformNode, InterfaceTypeDefinition: transformNode, UnionTypeDefinition: transformNode, EnumTypeDefinition: transformNode, EnumValueDefinition: transformNode, InputObjectTypeDefinition: transformNode, InputValueDefinition: transformNode, FieldDefinition: transformNode, DirectiveDefinition: transformNode, OperationDefinition: transformNode, VariableDefinition: transformNode, FragmentDefinition: transformNode, SchemaDefinition: transformNode, SchemaExtension: transformNode, }); };