Nullable defaults args and required default args are impossible to express #195
Open
Description
There are two use cases of arg defaultValues that can't be expressed with ocaml-graphql-server.
- A nullable arg can never be null in the resolver.
- 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"}]}
Metadata
Assignees
Labels
No labels