oksa
oksa copied to clipboard
Support name transformers
Closes #8
This PR introduces the following pieces:
- Name transformers are now supported both globally and using overrides.
- We are initially adding transformation support for names, fields, enums, directives, and types. More can be added later.
- Both the data-DSL and the API have now been changed to use the same internal unparse implementation.
- This was necessary for this feature, otherwise we would have had to build two ways to inject opts from top-level definitions to deeper definitions.
- Instead of performing validation for fields, names, enums, directives (etc.) at parse time, we now perform validation for those at unparse time to ensure that we are outputting valid GraphQL.