summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Navarro <j@dannynavarro.net>2015-09-13 17:44:31 +0200
committerDanny Navarro <j@dannynavarro.net>2015-09-13 17:44:31 +0200
commitb20607904737f49a85a23b3e2aaac89db3efa8c0 (patch)
tree476f8eb8de139874d013ed34898a190a99e59635
parent048ee552d82c1864697e07f55f5882cc46a1c9ed (diff)
downloadgraphql-b20607904737f49a85a23b3e2aaac89db3efa8c0.tar.gz
Add missing `=` required default values and unions
-rw-r--r--Data/GraphQL/Parser.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/Data/GraphQL/Parser.hs b/Data/GraphQL/Parser.hs
index 013dd9b..42f52a0 100644
--- a/Data/GraphQL/Parser.hs
+++ b/Data/GraphQL/Parser.hs
@@ -73,7 +73,10 @@ variableDefinition :: Parser VariableDefinition
variableDefinition =
VariableDefinition <$> variable <* s <* ":" <* s
<*> type_ <* s
- <*> value
+ <*> (defaultValue <|> empty)
+
+defaultValue :: Parser DefaultValue
+defaultValue = "=" *> s *> value
-- In defense of good taste, I'm taking liberty of not allowing space between
-- '$' and the 'name' even though that's not in the spec.
@@ -248,6 +251,7 @@ unionTypeDefinition :: Parser UnionTypeDefinition
unionTypeDefinition = UnionTypeDefinition
<$ "union" <* s1
<*> name <* s
+ <* "=" <* s
<*> unionMembers
where
-- This should take care of standalone `NamedType`