1111from ..utils .is_valid_value import is_valid_value
1212from ..utils .type_from_ast import type_from_ast
1313from ..utils .value_from_ast import value_from_ast
14+ from ..utils .undefined import UndefinedDefaultValue
1415
1516__all__ = ['get_variable_values' , 'get_argument_values' ]
1617
@@ -36,7 +37,7 @@ def get_variable_values(schema, definition_asts, inputs):
3637 [def_ast ]
3738 )
3839 elif value is None :
39- if def_ast .default_value is not None :
40+ if def_ast .default_value is not UndefinedDefaultValue :
4041 values [var_name ] = value_from_ast (def_ast .default_value , var_type )
4142 if isinstance (var_type , GraphQLNonNull ):
4243 raise GraphQLError (
@@ -81,7 +82,7 @@ def get_argument_values(arg_defs, arg_asts, variables=None):
8182 arg_type = arg_def .type
8283 value_ast = arg_ast_map .get (name )
8384 if name not in arg_ast_map :
84- if arg_def .default_value is not None :
85+ if arg_def .default_value is not UndefinedDefaultValue :
8586 result [arg_def .out_name or name ] = arg_def .default_value
8687 continue
8788 elif isinstance (arg_type , GraphQLNonNull ):
@@ -94,7 +95,7 @@ def get_argument_values(arg_defs, arg_asts, variables=None):
9495 variable_value = variables .get (variable_name )
9596 if variables and variable_name in variables :
9697 result [arg_def .out_name or name ] = variable_value
97- elif arg_def .default_value is not None :
98+ elif arg_def .default_value is not UndefinedDefaultValue :
9899 result [arg_def .out_name or name ] = arg_def .default_value
99100 elif isinstance (arg_type , GraphQLNonNull ):
100101 raise GraphQLError ('Argument "{name}" of required type {arg_type}" provided the variable "${variable_name}" which was not provided' .format (
@@ -113,7 +114,7 @@ def get_argument_values(arg_defs, arg_asts, variables=None):
113114 variables
114115 )
115116 if value is None :
116- if arg_def .default_value is not None :
117+ if arg_def .default_value is not UndefinedDefaultValue :
117118 value = arg_def .default_value
118119 result [arg_def .out_name or name ] = value
119120 else :
@@ -147,7 +148,7 @@ def coerce_value(type, value):
147148 obj = {}
148149 for field_name , field in fields .items ():
149150 if field_name not in value :
150- if field .default_value is not None :
151+ if field .default_value is not UndefinedDefaultValue :
151152 field_value = field .default_value
152153 obj [field .out_name or field_name ] = field_value
153154 else :
0 commit comments