@@ -27,6 +27,7 @@ import inspect from '../../jsutils/inspect';
27
27
import isInvalid from '../../jsutils/isInvalid' ;
28
28
import keyMap from '../../jsutils/keyMap' ;
29
29
import orList from '../../jsutils/orList' ;
30
+ import objectValues from '../../jsutils/objectValues' ;
30
31
import suggestionList from '../../jsutils/suggestionList' ;
31
32
32
33
export function badValueMessage (
@@ -94,16 +95,14 @@ export function ValuesOfCorrectType(context: ValidationContext): ASTVisitor {
94
95
return false ; // Don't traverse further.
95
96
}
96
97
// Ensure every required field exists.
97
- const inputFields = type . getFields ( ) ;
98
98
const fieldNodeMap = keyMap ( node . fields , field => field . name . value ) ;
99
- for ( const fieldName of Object . keys ( inputFields ) ) {
100
- const fieldDef = inputFields [ fieldName ] ;
101
- const fieldNode = fieldNodeMap [ fieldName ] ;
99
+ for ( const fieldDef of objectValues ( type . getFields ( ) ) ) {
100
+ const fieldNode = fieldNodeMap [ fieldDef . name ] ;
102
101
if ( ! fieldNode && isRequiredInputField ( fieldDef ) ) {
103
102
const typeStr = inspect ( fieldDef . type ) ;
104
103
context . reportError (
105
104
new GraphQLError (
106
- requiredFieldMessage ( type . name , fieldName , typeStr ) ,
105
+ requiredFieldMessage ( type . name , fieldDef . name , typeStr ) ,
107
106
node ,
108
107
) ,
109
108
) ;
0 commit comments