graphile-build
Version:
Build a GraphQL schema from plugins
44 lines (43 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
// In GraphQL v14, empty descriptions were not output. In GraphQL v15 they are.
// We don't want them, so this removes them.
const TrimEmptyDescriptionsPlugin = function (builder) {
const rmEmptyTypeDescription = type => {
if (type.description === "") {
type.description = null;
}
return type;
};
const rmEmptyFieldDescription = field => {
if (field.description === "") {
field.description = null;
}
return field;
};
const rmEmptyArgDescriptions = args => {
if (!args) {
return args;
}
for (const argName in args) {
const arg = args[argName];
if (arg.description === "") {
arg.description = null;
}
}
return args;
};
builder.hook("GraphQLObjectType", rmEmptyTypeDescription);
builder.hook("GraphQLObjectType:fields:field", rmEmptyFieldDescription);
builder.hook("GraphQLObjectType:fields:field:args", rmEmptyArgDescriptions);
builder.hook("GraphQLInputObjectType", rmEmptyTypeDescription);
builder.hook("GraphQLInputObjectType:fields:field", rmEmptyFieldDescription);
builder.hook("GraphQLUnionType", rmEmptyTypeDescription);
builder.hook("GraphQLEnumType", rmEmptyTypeDescription);
};
var _default = TrimEmptyDescriptionsPlugin;
exports.default = _default;
//# sourceMappingURL=TrimEmptyDescriptionsPlugin.js.map