Skip to content

Conversation

@yanns
Copy link
Contributor

@yanns yanns commented Oct 6, 2022

Prototype for #913
In this prototype, we check how we can apply custom directives much easier.
Furthermore, we check if we can prove type safety, to that a custom directive
that can be applied on some elements cannot be applied on others.

Limitations:

  • a directive can be applied on a field definition for example. With that current approach,
    we cannot formulate that with the type system as a field definition lives in sangria.ast, and
    we only handle sangria.schema types.
  • we are introducing new types to mark on which elements a directive can be applied. Those types
    are kind of duplication of the current sangria.schema.DirectiveLocation values.

@yanns yanns force-pushed the custom_directive_API branch 2 times, most recently from 8fe1f86 to 99eab24 Compare October 6, 2022 09:12
Prototype for #913
In this prototype, we check how we can apply custom directives much easier.
Furthermore, we check if we can prove type safety, to that a custom directive
that can be applied on some elements cannot be applied on others.

Limitations:
- a directive can be applied on a field definition for example. With that current approach,
we cannot formulate that with the type system as a field definition lives in sangria.ast, and
we only handle sangria.schema types.
- we are introducing new types to mark on which elements a directive can be applied. Those types
are kind of duplication of the current [sangria.schema.DirectiveLocation values](https://github.com/sangria-graphql/sangria/blob/f339b5df97bd89c2a24fcfc977a1f20191ffd7fc/modules/core/src/main/scala/sangria/schema/Schema.scala#L1136-L1158).
@yanns yanns force-pushed the custom_directive_API branch from 99eab24 to 955420d Compare October 6, 2022 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant