From 3e393004ae03a717218a805043d9237ca29ac947 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Mon, 21 Sep 2020 07:28:40 +0200 Subject: Validate all variables are defined --- src/Language/GraphQL/AST/Parser.hs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/Language/GraphQL/AST/Parser.hs') diff --git a/src/Language/GraphQL/AST/Parser.hs b/src/Language/GraphQL/AST/Parser.hs index 18ffd2a..29eee79 100644 --- a/src/Language/GraphQL/AST/Parser.hs +++ b/src/Language/GraphQL/AST/Parser.hs @@ -402,7 +402,7 @@ argument = label "Argument" $ do location <- getLocation name' <- name colon - value' <- value + value' <- valueNode pure $ Argument name' value' location fragmentSpread :: Parser FragmentSpread @@ -439,6 +439,12 @@ fragmentName = but (symbol "on") *> name "FragmentName" typeCondition :: Parser TypeCondition typeCondition = symbol "on" *> name "TypeCondition" +valueNode :: Parser (Node Value) +valueNode = do + location <- getLocation + value' <- value + pure $ Node value' location + value :: Parser Value value = Variable <$> variable <|> Float <$> try float -- cgit v1.2.3