Skip to content

Commit 0a72f1b

Browse files
committed
update schema printer for null default value
1 parent 60ca426 commit 0a72f1b

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

graphql/language/printer.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22

33
from .visitor import Visitor, visit
4+
from ..utils.undefined import UndefinedDefaultValue
45

56
__all__ = ['print_ast']
67

@@ -34,7 +35,7 @@ def leave_OperationDefinition(self, node, *args):
3435
return join([op, join([name, var_defs]), directives, selection_set], ' ')
3536

3637
def leave_VariableDefinition(self, node, *args):
37-
return node.variable + ': ' + node.type + wrap(' = ', node.default_value)
38+
return node.variable + ': ' + node.type + wrap(' = ', node.default_value, is_default_value=True)
3839

3940
def leave_SelectionSet(self, node, *args):
4041
return block(node.selections)
@@ -146,7 +147,7 @@ def leave_FieldDefinition(self, node, *args):
146147
)
147148

148149
def leave_InputValueDefinition(self, node, *args):
149-
return node.name + ': ' + node.type + wrap(' = ', node.default_value) + wrap(' ', join(node.directives, ' '))
150+
return node.name + ': ' + node.type + wrap(' = ', node.default_value, is_default_value=True) + wrap(' ', join(node.directives, ' '))
150151

151152
def leave_InterfaceTypeDefinition(self, node, *args):
152153
return 'interface ' + node.name + wrap(' ', join(node.directives, ' ')) + ' ' + block(node.fields)
@@ -184,7 +185,13 @@ def block(_list):
184185
return '{}'
185186

186187

187-
def wrap(start, maybe_str, end=''):
188+
def wrap(start, maybe_str, end='', is_default_value=False):
189+
if is_default_value:
190+
if maybe_str is not UndefinedDefaultValue:
191+
s = 'null' if maybe_str is None else maybe_str
192+
return start + s + end
193+
return ''
194+
188195
if maybe_str:
189196
return start + maybe_str + end
190197
return ''

0 commit comments

Comments
 (0)