summaryrefslogtreecommitdiff
path: root/Data/GraphQL.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Data/GraphQL.hs')
-rw-r--r--Data/GraphQL.hs14
1 files changed, 13 insertions, 1 deletions
diff --git a/Data/GraphQL.hs b/Data/GraphQL.hs
index a2796ae..a5dac4d 100644
--- a/Data/GraphQL.hs
+++ b/Data/GraphQL.hs
@@ -1,3 +1,6 @@
+-- | The module Data.GraphQl provides the
+-- functions graphql and graphqlSubs to parse
+-- and execute GraphQL queries.
module Data.GraphQL where
import Control.Applicative (Alternative)
@@ -13,10 +16,19 @@ import Data.GraphQL.Schema
import Data.GraphQL.Error
+-- | graphql takes a schema and text representing a GraphQL request document.
+-- If the text parses correctly as a GraphQl query
+-- the query is executed according to the given schema.
+-- Returns the response to the query wrapped in an Aeson.Value.
graphql :: (Alternative m, Monad m) => Schema m -> Text -> m Aeson.Value
graphql = flip graphqlSubs $ const Nothing
-
+-- | graphqlsubs takes in a schema, a substitution and text representing
+-- a GraphQL request document.
+-- If the text parses correctly as a GraphQl query
+-- the substitution is applied to the query and
+-- the query is then executed according to the given schema.
+-- Returns the response to the query wrapped in an Aeson.Value.
graphqlSubs :: (Alternative m, Monad m) => Schema m -> Subs -> Text -> m Aeson.Value
graphqlSubs schema f =
either parseError (execute schema f)