11
11
from ..utils .is_valid_value import is_valid_value
12
12
from ..utils .type_from_ast import type_from_ast
13
13
from ..utils .value_from_ast import value_from_ast
14
+ from ..utils .undefined import UndefinedDefaultValue
14
15
15
16
__all__ = ['get_variable_values' , 'get_argument_values' ]
16
17
@@ -36,7 +37,7 @@ def get_variable_values(schema, definition_asts, inputs):
36
37
[def_ast ]
37
38
)
38
39
elif value is None :
39
- if def_ast .default_value is not None :
40
+ if def_ast .default_value is not UndefinedDefaultValue :
40
41
values [var_name ] = value_from_ast (def_ast .default_value , var_type )
41
42
if isinstance (var_type , GraphQLNonNull ):
42
43
raise GraphQLError (
@@ -81,7 +82,7 @@ def get_argument_values(arg_defs, arg_asts, variables=None):
81
82
arg_type = arg_def .type
82
83
value_ast = arg_ast_map .get (name )
83
84
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 :
85
86
result [arg_def .out_name or name ] = arg_def .default_value
86
87
continue
87
88
elif isinstance (arg_type , GraphQLNonNull ):
@@ -94,7 +95,7 @@ def get_argument_values(arg_defs, arg_asts, variables=None):
94
95
variable_value = variables .get (variable_name )
95
96
if variables and variable_name in variables :
96
97
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 :
98
99
result [arg_def .out_name or name ] = arg_def .default_value
99
100
elif isinstance (arg_type , GraphQLNonNull ):
100
101
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):
113
114
variables
114
115
)
115
116
if value is None :
116
- if arg_def .default_value is not None :
117
+ if arg_def .default_value is not UndefinedDefaultValue :
117
118
value = arg_def .default_value
118
119
result [arg_def .out_name or name ] = value
119
120
else :
@@ -147,7 +148,7 @@ def coerce_value(type, value):
147
148
obj = {}
148
149
for field_name , field in fields .items ():
149
150
if field_name not in value :
150
- if field .default_value is not None :
151
+ if field .default_value is not UndefinedDefaultValue :
151
152
field_value = field .default_value
152
153
obj [field .out_name or field_name ] = field_value
153
154
else :
0 commit comments