Clarify that selection sets cannot be empty #1025
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.
This paragraph is trying to make clear that if you have a type like
type Foo { foo: Int!, bar: Int!, baz: Int! }
that the selection set{ foo bar }
is valid for it - you do not have to selectbaz
even if it's non-nullable, since non-nullable does not mean "required" for output fields.However, it does read ambiguously, implying that you may remove any field from any selection set and the selection set will still be valid. If you remove the field
foo
from the selection set{ foo }
then that selection set ({ }
) is no longer valid, since it is empty.I've added a clarifying parenthesis to the text.
Fixes #1024
@graphql/tsc Can I get a couple checkmarks please? 😉