Replies: 4 comments 12 replies
-
Option 1
|
Beta Was this translation helpful? Give feedback.
-
Option 2Nondestructive
|
Beta Was this translation helpful? Give feedback.
-
Option 3Null propagates to nearest
|
Beta Was this translation helpful? Give feedback.
-
Hello! It's been a while. The Client Controlled Nullability RFC is now winding down in favor of True Schema Nullability, so I'll be closing CCN related issues, PRs, and discussions. All further discussion should be rerouted to one of the following: Additionally, we're in the process of removing the CCN experimental flag from graphql-js. TL;DR of the new proposal(s) is that instead of allowing clients to adapt to imprecise schema definitions, our new approach is to find ways to allow schema authors to provide the precision that's been missing. There are a few different approaches to that which you can read about in the discussions above. Apollo and a couple other schema authors are in the process of putting together experiments, so if you'd like to have input or beta test the new proposal(s), reach out to us either in the Nullability Working Group, or in the #nullability-wg channel on Discord. |
Beta Was this translation helpful? Give feedback.
-
Spec changes
To get a better idea of where we stand, I'll add a poll so people can vote on their favorite option. This vote is non-binding, and is only one factor in choosing which syntax we land on I'll open new threads for people to discuss each option below.
I'm going to try and separate null propagation and error handling discussion. In the original thread and during working group discussions, the conflation of the two has been causing some confusion about what options exist I think. For example, we could feasibly decide on any combination of (status quo null propagation/propagation to the nearest question mark) and (caught errors marked handled/caught errors put in a separate array/caught errors include destroyed data).
!
acts like Non-NullableNondestructive
!
Null propagates to nearest
?
Update (March 6th, 2022): Option three was selected for development at the last working group meeting.
Beta Was this translation helpful? Give feedback.
All reactions