@graphql-tools/optimize
Version:
A set of utils for faster development of GraphQL tools
36 lines (35 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeDescriptions = void 0;
const graphql_1 = require("graphql");
/**
* This optimizer removes "description" fields from schema and executable AST nodes.
* @param input
*/
const removeDescriptions = input => {
function transformNode(node) {
if (!node.description) {
return node;
}
const { description, ...rest } = node;
return rest;
}
return (0, graphql_1.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,
});
};
exports.removeDescriptions = removeDescriptions;