Skip to content

Commit

Permalink
Ensure null values are not provided in input objects
Browse files Browse the repository at this point in the history
  • Loading branch information
leebyron committed Aug 11, 2015
1 parent 7bb34be commit 44c9daf
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
7 changes: 6 additions & 1 deletion src/execution/values.js
Expand Up @@ -132,7 +132,12 @@ function coerceValue(type: GraphQLInputType, value: any): any {
return Object.keys(fields).reduce((obj, fieldName) => {
var field = fields[fieldName];
var fieldValue = coerceValue(field.type, value[fieldName]);
obj[fieldName] = fieldValue === null ? field.defaultValue : fieldValue;
if (fieldValue === null && field.defaultValue !== undefined) {
fieldValue = field.defaultValue;
}
if (fieldValue !== null) {
obj[fieldName] = fieldValue;
}
return obj;
}, {});
}
Expand Down
7 changes: 6 additions & 1 deletion src/utilities/valueFromAST.js
Expand Up @@ -95,7 +95,12 @@ export function valueFromAST(
var fieldAST = fieldASTs[fieldName];
var fieldValue =
valueFromAST(fieldAST && fieldAST.value, field.type, variables);
obj[fieldName] = fieldValue === null ? field.defaultValue : fieldValue;
if (fieldValue === null && field.defaultValue !== undefined) {
fieldValue = field.defaultValue;
}
if (fieldValue !== null) {
obj[fieldName] = fieldValue;
}
return obj;
}, {});
}
Expand Down

0 comments on commit 44c9daf

Please sign in to comment.