morpheus-graphql-0.14.1: Morpheus GraphQL

Safe HaskellNone
LanguageHaskell2010

Data.Morpheus

Description

Build GraphQL APIs with your favourite functional language!

Synopsis

Documentation

class Interpreter e m a b where Source #

main query processor and resolver possible versions of interpreter

  1. with effect and state: where GQLState is State Monad of subscriptions

     k :: GQLState -> a -> IO a
    
  2. without effect and state: stateless query processor without any effect, if you don't need any subscription use this one , is simple and fast

      k :: a -> IO a
      -- or
      k :: GQLRequest -> IO GQLResponse
    

Methods

interpreter :: Monad m => RootResolverConstraint m e query mut sub => RootResolver m e query mut sub -> a -> b Source #

debugInterpreter :: Monad m => RootResolverConstraint m e query mut sub => RootResolver m e query mut sub -> a -> b Source #

Instances
MapAPI a a => Interpreter e m a (m a) Source # 
Instance details

Defined in Data.Morpheus.Server.Deriving.Interpreter

Methods

interpreter :: (Monad m, RootResolverConstraint m e query mut sub) => RootResolver m e query mut sub -> a -> m a Source #

debugInterpreter :: (Monad m, RootResolverConstraint m e query mut sub) => RootResolver m e query mut sub -> a -> m a Source #

Interpreter e m GQLRequest (m GQLResponse) Source # 
Instance details

Defined in Data.Morpheus.Server.Deriving.Interpreter

Methods

interpreter :: (Monad m, RootResolverConstraint m e query mut sub) => RootResolver m e query mut sub -> GQLRequest -> m GQLResponse Source #

debugInterpreter :: (Monad m, RootResolverConstraint m e query mut sub) => RootResolver m e query mut sub -> GQLRequest -> m GQLResponse Source #

Interpreter (Event ch cont) m (Input api) (Stream api (Event ch cont) m) Source # 
Instance details

Defined in Data.Morpheus.Server.Deriving.Interpreter

Methods

interpreter :: (Monad m, RootResolverConstraint m (Event ch cont) query mut sub) => RootResolver m (Event ch cont) query mut sub -> Input api -> Stream api (Event ch cont) m Source #

debugInterpreter :: (Monad m, RootResolverConstraint m (Event ch cont) query mut sub) => RootResolver m (Event ch cont) query mut sub -> Input api -> Stream api (Event ch cont) m Source #