-
Notifications
You must be signed in to change notification settings - Fork 329
Description
The question on generating parts of a schema and runtime wiring dynamically comes up often, see #452 and #532 for example, and that can be done by applying a GraphQLTypeVisitor through a SchemaTransformer.
It is possible to register one or more GraphQLTypeVisitor via GraphQlSource.Builder, but those are applied with SchemaTraverser, which allows only schema traversal (and code registry changes), but not schema changes. That covers a lot of use cases (all of the Spring for GraphQL ones), in a more performance manner. To actually transform the schema with a visitor, one needs to register a schemaFactory instead via GraphQlSource.Builder, but that involves also actually creating the GraphQLSchema, which is not relevant for the transformation.
It would be more convenient to be able to register GraphQLTypeVisitor that should be applied with SchemaTransformer instead of with SchemaTraverser. Perhaps an overloaded typeVisitorsForTransformation method on the GraphQlSource.Builder.