Incorporate meta-fields into ExecuteCollectedFields #1177
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.
GraphQL.js uses a
getFieldDef()
helper:https://github.com/graphql/graphql-js/blob/9032db1e4e55052bead6936359ecc5592c817f64/src/execution/execute.ts#L1047-L1079
called from
executeField()
to get the field definition to execute; returning meta-field definitions as appropriate.This spec change reflects this existing behavior as best we can.
(Technically GraphQL.js'
executeField()
function overlaps responsibilities between theExecuteField()
andExecuteCollectedFields()
algorithms in the spec - specifically,executeField()
may returnundefined
, resulting inexecuteFields()
not adding the entry to the result object, whereas this conditional addition is handled inExecuteCollectedFields()
in the spec and we cannot/should not differentiate betweennull
andundefined
in this way.)