aboutsummaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/Trans.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Language/GraphQL/Trans.hs')
-rw-r--r--src/Language/GraphQL/Trans.hs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/Language/GraphQL/Trans.hs b/src/Language/GraphQL/Trans.hs
index 09c012b..fa7718a 100644
--- a/src/Language/GraphQL/Trans.hs
+++ b/src/Language/GraphQL/Trans.hs
@@ -1,8 +1,8 @@
-- | Monad transformer stack used by the @GraphQL@ resolvers.
module Language.GraphQL.Trans
- ( ActionT(..)
+ ( argument
+ , ActionT(..)
, Context(..)
- , argument
) where
import Control.Applicative (Alternative(..))
@@ -14,12 +14,15 @@ import Control.Monad.Trans.Reader (ReaderT, asks)
import qualified Data.HashMap.Strict as HashMap
import Data.Maybe (fromMaybe)
import Data.Text (Text)
+import Language.GraphQL.AST (Name)
import Language.GraphQL.AST.Core
+import Language.GraphQL.Type.Definition
import Prelude hiding (lookup)
-- | Resolution context holds resolver arguments.
-newtype Context = Context
+data Context = Context
{ arguments :: Arguments
+ , values :: Value
}
-- | Monad transformer stack used by the resolvers to provide error handling
@@ -54,7 +57,7 @@ instance Monad m => MonadPlus (ActionT m) where
mplus = (<|>)
-- | Retrieves an argument by its name. If the argument with this name couldn't
--- be found, returns 'Value.Null' (i.e. the argument is assumed to
+-- be found, returns 'Null' (i.e. the argument is assumed to
-- be optional then).
argument :: Monad m => Name -> ActionT m Value
argument argumentName = do