File tree Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Expand file tree Collapse file tree 1 file changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -207,10 +207,22 @@ Guiding Principles. The scores are:
207
207
- 🥈 Silver - A nice-to-have
208
208
- 🥉 Bronze - Not necessary
209
209
210
- ## 🎯 A. GraphQL should be able to indicate which positions will only be null if an error occurred
210
+ ## 🎯 A. GraphQL should be able to indicate which nullable fields should become non-nullable when error propagation is disabled
211
211
212
212
The promise of this RFC - the reflection of the semantic nullability of the
213
- fields.
213
+ fields without compromising requests with error propagation enabled via the
214
+ differentiation of a "null if and only if an error occurs" type.
215
+
216
+ With error propagation enabled (the traditional GraphQL behavior), it's
217
+ recommended that fields are marked nullable if errors may happen there, even if
218
+ the underlying value is semantically non-nullable. If we allow error-handling
219
+ clients to disable error propagation, then these traditionally nullable
220
+ positions can be marked (semantically) non-nullable in that mode, since with
221
+ error propagation disabled the selection sets are no longer destroyed.
222
+
223
+ Note: Traditional non-nullable types will effectively become semantically
224
+ non-nullable when error propagation is disabled no matter which solution is
225
+ chosen, so this criteria is only concerned with traditionally nullable types.
214
226
215
227
| [ 1] [ solution-1 ] | [ 2] [ solution-2 ] | [ 3] [ solution-3 ] | [ 4] [ solution-4 ] |
216
228
| --------------- | --------------- | --------------- | --------------- |
You can’t perform that action at this time.
0 commit comments