summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/AST/DirectiveLocation.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Language/GraphQL/AST/DirectiveLocation.hs')
-rw-r--r--src/Language/GraphQL/AST/DirectiveLocation.hs13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/Language/GraphQL/AST/DirectiveLocation.hs b/src/Language/GraphQL/AST/DirectiveLocation.hs
index 12c7e18..5b7a36f 100644
--- a/src/Language/GraphQL/AST/DirectiveLocation.hs
+++ b/src/Language/GraphQL/AST/DirectiveLocation.hs
@@ -1,14 +1,20 @@
+-- | Various parts of a GraphQL document can be annotated with directives.
+-- This module describes locations in a document where directives can appear.
module Language.GraphQL.AST.DirectiveLocation
- ( DirectiveLocation
- , ExecutableDirectiveLocation
- , TypeSystemDirectiveLocation
+ ( DirectiveLocation(..)
+ , ExecutableDirectiveLocation(..)
+ , TypeSystemDirectiveLocation(..)
) where
+-- | All directives can be splitted in two groups: directives used to annotate
+-- various parts of executable definitions and the ones used in the schema
+-- definition.
data DirectiveLocation
= ExecutableDirectiveLocation ExecutableDirectiveLocation
| TypeSystemDirectiveLocation TypeSystemDirectiveLocation
deriving (Eq, Show)
+-- | Where directives can appear in an executable definition, like a query.
data ExecutableDirectiveLocation
= Query
| Mutation
@@ -19,6 +25,7 @@ data ExecutableDirectiveLocation
| InlineFragment
deriving (Eq, Show)
+-- | Where directives can appear in a type system definition.
data TypeSystemDirectiveLocation
= Schema
| Scalar