Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nullable defaults args and required default args are impossible to express #195

Open
dwwoelfel opened this issue Aug 18, 2020 · 0 comments

Comments

@dwwoelfel
Copy link
Contributor

dwwoelfel commented Aug 18, 2020

There are two use cases of arg defaultValues that can't be expressed with ocaml-graphql-server.

  1. A nullable arg can never be null in the resolver.
  2. A non-null arg can't have a default.

Take the valid graphql schema:

type Query {
  field(argOne: String = "A" argTwo: String! = "B"): String!
}

argTwo can't be expressed with ocaml-graphql-server.

If the resolve function (in js to make it easier to demonstrate what is happening) looks like this:

resolve(_, {argOne, argTwo}) {
  return `${argOne}${argTwo}`
}

A nullable arg can never be null in the resolver:

{
  field(argOne: null)
}
{"field": "B"}

Example of 2:

{
  field(argTwo: null)
}
{"errors": [{"message": "argTwo must be non-null"}]}
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

No branches or pull requests

1 participant