summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/AST/Parser.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2020-09-24 05:47:31 +0200
committerEugen Wissner <belka@caraus.de>2020-09-24 05:47:31 +0200
commit9bfa2aa7e8a72c9cc08743152a96d18312625712 (patch)
tree83455a5432e0430fa6048b13ca2e740cd5017ec4 /src/Language/GraphQL/AST/Parser.hs
parente9a94147fb5cf6b871268a373fc211cfa50da2fc (diff)
downloadgraphql-9bfa2aa7e8a72c9cc08743152a96d18312625712.tar.gz
Validate input fields have unique names
Diffstat (limited to 'src/Language/GraphQL/AST/Parser.hs')
-rw-r--r--src/Language/GraphQL/AST/Parser.hs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/Language/GraphQL/AST/Parser.hs b/src/Language/GraphQL/AST/Parser.hs
index 29eee79..eb82f38 100644
--- a/src/Language/GraphQL/AST/Parser.hs
+++ b/src/Language/GraphQL/AST/Parser.hs
@@ -487,11 +487,12 @@ nullValue :: Parser Text
nullValue = symbol "null" <?> "NullValue"
objectField :: Parser a -> Parser (ObjectField a)
-objectField valueParser = ObjectField
- <$> name
- <* colon
- <*> valueParser
- <?> "ObjectField"
+objectField valueParser = label "ObjectField" $ do
+ location <- getLocation
+ fieldName <- name
+ colon
+ fieldValue <- valueParser
+ pure $ ObjectField fieldName fieldValue location
variableDefinitions :: Parser [VariableDefinition]
variableDefinitions = listOptIn parens variableDefinition