Apply default values that are 'false' #658
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Unless I'm mistaking the intent it appears I've encountered an issue with
false
default_value
s not being applied. I believe this is because the conditional inInputObjectType
checks that the coerced value is falsey and not explicitlynil
, meaning thatfalse
values are being left behind.See attached patch for (what I suspect) is the correct behaviour. I think my test might be a bit flimsy so I'm open to suggestions. =)
Thanks!
Current Behavior
{ "clientMutationId": "xxx" }
the result isnil
.{ "clientMutationId": "xxx", "isCoolShip": null }
the result isnil
.{ "clientMutationId": "xxx", "isCoolShip": false }
the result isfalse
.{ "clientMutationId": "xxx", "isCoolShip": true }
the result istrue
.Anomaly
It's also worth noting that inline variables are unaffected. For instance if I ran the following query the result would be
false
. Seemingly relevant snippet.Expected Behavior
{ "clientMutationId": "xxx" }
the result isfalse
.{ "clientMutationId": "xxx", "isCoolShip": null }
the result isfalse
.{ "clientMutationId": "xxx", "isCoolShip": false }
the result isfalse
.{ "clientMutationId": "xxx", "isCoolShip": true }
the result istrue
.