summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/Validate.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2020-08-28 08:32:21 +0200
committerEugen Wissner <belka@caraus.de>2020-08-28 08:32:21 +0200
commit7e78f98f090168fe8b315a5e9438e635afdf93a4 (patch)
treee7d374311710a4fc7372dacff40b244fd5b5b866 /src/Language/GraphQL/Validate.hs
parenteebad8a27f164088e356e7936afb9a399c70363a (diff)
downloadgraphql-7e78f98f090168fe8b315a5e9438e635afdf93a4.tar.gz
Validate fragment name uniqueness
Diffstat (limited to 'src/Language/GraphQL/Validate.hs')
-rw-r--r--src/Language/GraphQL/Validate.hs15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/Language/GraphQL/Validate.hs b/src/Language/GraphQL/Validate.hs
index bcc3bf7..53dc6f9 100644
--- a/src/Language/GraphQL/Validate.hs
+++ b/src/Language/GraphQL/Validate.hs
@@ -66,11 +66,16 @@ executableDefinition (DefinitionFragment definition') =
operationDefinition :: forall m. OperationDefinition -> ValidateT m
operationDefinition operation =
- asks rules >>= foldM (ruleFilter operation) Seq.empty
+ asks rules >>= foldM ruleFilter Seq.empty
where
- ruleFilter definition' accumulator (OperationDefinitionRule rule) =
- mapReaderT (runRule accumulator) $ rule definition'
- ruleFilter _ accumulator _ = pure accumulator
+ ruleFilter accumulator (OperationDefinitionRule rule) =
+ mapReaderT (runRule accumulator) $ rule operation
+ ruleFilter accumulator _ = pure accumulator
fragmentDefinition :: forall m. FragmentDefinition -> ValidateT m
-fragmentDefinition _fragment = pure Seq.empty
+fragmentDefinition fragment =
+ asks rules >>= foldM ruleFilter Seq.empty
+ where
+ ruleFilter accumulator (FragmentDefinitionRule rule) =
+ mapReaderT (runRule accumulator) $ rule fragment
+ ruleFilter accumulator _ = pure accumulator