@graphql-inspector/core
Version:
Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.
17 lines (16 loc) • 604 B
JavaScript
import { extendSchema, parse, visit } from 'graphql';
import { removeDirectives, removeFieldIfDirectives } from './graphql.js';
export function transformDocumentWithApollo(doc, { keepClientFields }) {
return visit(doc, {
Field(node) {
return keepClientFields
? removeDirectives(node, ['client'])
: removeFieldIfDirectives(node, ['client']);
},
});
}
export function transformSchemaWithApollo(schema) {
return extendSchema(schema, parse(/* GraphQL */ `
directive @connection(key: String!, filter: [String]) on FIELD
`));
}