graphql-client-1.2.4: A client for Haskell programs to query a GraphQL API
MaintainerBrandon Chinn <brandonchinn178@gmail.com>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.GraphQL.Monad.Class

Description

Defines the MonadGraphQLQuery type class, which defines how GraphQL queries should be run.

Synopsis

Documentation

class Monad m => MonadGraphQLQuery m where Source #

A type class for monads that can run GraphQL queries.

Methods

runQuerySafe :: (GraphQLQuery query, schema ~ ResultSchema query) => query -> m (GraphQLResult (Object schema)) Source #

Run the given query and return the GraphQLResult.

Instances

Instances details
MonadIO m => MonadGraphQLQuery (GraphQLQueryT m) Source # 
Instance details

Defined in Data.GraphQL.Monad

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> GraphQLQueryT m (GraphQLResult (Object schema)) Source #

Monad m => MonadGraphQLQuery (MockQueryT m) Source # 
Instance details

Defined in Data.GraphQL.TestUtils

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> MockQueryT m (GraphQLResult (Object schema)) Source #

MonadGraphQLQuery m => MonadGraphQLQuery (MaybeT m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> MaybeT m (GraphQLResult (Object schema)) Source #

MonadGraphQLQuery m => MonadGraphQLQuery (ExceptT e m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> ExceptT e m (GraphQLResult (Object schema)) Source #

MonadGraphQLQuery m => MonadGraphQLQuery (IdentityT m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> IdentityT m (GraphQLResult (Object schema)) Source #

MonadGraphQLQuery m => MonadGraphQLQuery (ReaderT r m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> ReaderT r m (GraphQLResult (Object schema)) Source #

MonadGraphQLQuery m => MonadGraphQLQuery (StateT s m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> StateT s m (GraphQLResult (Object schema)) Source #

MonadGraphQLQuery m => MonadGraphQLQuery (StateT s m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> StateT s m (GraphQLResult (Object schema)) Source #

(Monoid w, MonadGraphQLQuery m) => MonadGraphQLQuery (WriterT w m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> WriterT w m (GraphQLResult (Object schema)) Source #

(Monoid w, MonadGraphQLQuery m) => MonadGraphQLQuery (WriterT w m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> WriterT w m (GraphQLResult (Object schema)) Source #

(Monoid w, MonadGraphQLQuery m) => MonadGraphQLQuery (RWST r w s m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> RWST r w s m (GraphQLResult (Object schema)) Source #

(Monoid w, MonadGraphQLQuery m) => MonadGraphQLQuery (RWST r w s m) Source # 
Instance details

Defined in Data.GraphQL.Monad.Class

Methods

runQuerySafe :: forall query (schema :: Schema). (GraphQLQuery query, schema ~ ResultSchema query) => query -> RWST r w s m (GraphQLResult (Object schema)) Source #

runQuery :: (MonadIO m, MonadGraphQLQuery m, GraphQLQuery query, schema ~ ResultSchema query) => query -> m (Object schema) Source #

Run the given query and returns the result, erroring if the query returned errors.