Skip to content

Commit f26ab60

Browse files
committed
update parser to handle parsing undefined default args
1 parent 5785fc8 commit f26ab60

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

graphql/language/parser.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from ..error import GraphQLSyntaxError
55
from .lexer import Lexer, TokenKind, get_token_desc, get_token_kind_desc
66
from .source import Source
7+
from ..utils.undefined import UndefinedDefaultValue
78

89
__all__ = ['parse']
910

@@ -275,7 +276,7 @@ def parse_variable_definition(parser):
275276
return ast.VariableDefinition(
276277
variable=parse_variable(parser),
277278
type=expect(parser, TokenKind.COLON) and parse_type(parser),
278-
default_value=parse_value_literal(parser, True) if skip(parser, TokenKind.EQUALS) else None,
279+
default_value=parse_value_literal(parser, True) if skip(parser, TokenKind.EQUALS) else UndefinedDefaultValue,
279280
loc=loc(parser, start)
280281
)
281282

@@ -666,7 +667,7 @@ def parse_input_value_def(parser):
666667
return ast.InputValueDefinition(
667668
name=parse_name(parser),
668669
type=expect(parser, TokenKind.COLON) and parse_type(parser),
669-
default_value=parse_const_value(parser) if skip(parser, TokenKind.EQUALS) else None,
670+
default_value=parse_const_value(parser) if skip(parser, TokenKind.EQUALS) else UndefinedDefaultValue,
670671
directives=parse_directives(parser),
671672
loc=loc(parser, start),
672673
)

graphql/language/visitor.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from . import ast
66
from .visitor_meta import QUERY_DOCUMENT_KEYS, VisitorMeta
7+
from ..utils.undefined import UndefinedDefaultValue
78

89

910
class Falsey(object):
@@ -99,7 +100,7 @@ def visit(root, visitor, key_map=None):
99100
key = None
100101
node = new_root
101102

102-
if node is REMOVE or node is None:
103+
if node is REMOVE or node is None or node is UndefinedDefaultValue:
103104
continue
104105

105106
if parent:

0 commit comments

Comments
 (0)