summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/AST/Parser.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2020-09-09 17:04:31 +0200
committerEugen Wissner <belka@caraus.de>2020-09-09 17:04:31 +0200
commitc2c57b636392ae67a118ce5be04ad8f4b1304ed5 (patch)
tree317992e1bcca871e7b31dd8d131a67cba6d98152 /src/Language/GraphQL/AST/Parser.hs
parentf6ff0ab9c785273e3ceeac6b9d636c5ec519a008 (diff)
downloadgraphql-c2c57b636392ae67a118ce5be04ad8f4b1304ed5.tar.gz
Validate all fragments are used
Diffstat (limited to 'src/Language/GraphQL/AST/Parser.hs')
-rw-r--r--src/Language/GraphQL/AST/Parser.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/Language/GraphQL/AST/Parser.hs b/src/Language/GraphQL/AST/Parser.hs
index e68956f..136067b 100644
--- a/src/Language/GraphQL/AST/Parser.hs
+++ b/src/Language/GraphQL/AST/Parser.hs
@@ -376,12 +376,12 @@ selectionSetOpt :: Parser SelectionSetOpt
selectionSetOpt = listOptIn braces selection <?> "SelectionSet"
selection :: Parser Selection
-selection = field
+selection = FieldSelection <$> field
<|> FragmentSpreadSelection <$> try fragmentSpread
<|> InlineFragmentSelection <$> inlineFragment
<?> "Selection"
-field :: Parser Selection
+field :: Parser Field
field = label "Field" $ do
location <- getLocation
alias' <- optional alias
@@ -391,7 +391,7 @@ field = label "Field" $ do
selectionSetOpt' <- selectionSetOpt
pure $ Field alias' name' arguments' directives' selectionSetOpt' location
-alias :: Parser Alias
+alias :: Parser Name
alias = try (name <* colon) <?> "Alias"
arguments :: Parser [Argument]