morpheus-graphql-core-0.17.0: Morpheus GraphQL Core
Safe HaskellNone
LanguageHaskell2010

Data.Morpheus.Internal.Ext

Documentation

class Applicative f => Failure error (f :: * -> *) where Source #

Methods

failure :: error -> f v Source #

Instances

Instances details
Failure error (Either error) Source # 
Instance details

Defined in Data.Morpheus.Ext.Failure

Methods

failure :: error -> Either error v Source #

(Monad m, Failure errors m) => Failure errors (ReaderT ctx m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Failure

Methods

failure :: errors -> ReaderT ctx m v Source #

Monad m => Failure GQLErrors (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

failure :: GQLErrors -> ResultT event m v Source #

Failure [GQLError] (Result ev) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

failure :: [GQLError] -> Result ev v Source #

Failure [ValidationError] (Result ev) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

failure :: [ValidationError] -> Result ev v Source #

class PushEvents e m where Source #

Methods

pushEvents :: [e] -> m () Source #

Instances

Instances details
PushEvents events (Result events) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

pushEvents :: [events] -> Result events () Source #

Applicative m => PushEvents event (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

pushEvents :: [event] -> ResultT event m () Source #

data Result events a Source #

Constructors

Success 

Fields

Failure 

Fields

Instances

Instances details
PushEvents events (Result events) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

pushEvents :: [events] -> Result events () Source #

Monad (Result e) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

(>>=) :: Result e a -> (a -> Result e b) -> Result e b #

(>>) :: Result e a -> Result e b -> Result e b #

return :: a -> Result e a #

Functor (Result events) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

fmap :: (a -> b) -> Result events a -> Result events b #

(<$) :: a -> Result events b -> Result events a #

Applicative (Result e) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

pure :: a -> Result e a #

(<*>) :: Result e (a -> b) -> Result e a -> Result e b #

liftA2 :: (a -> b -> c) -> Result e a -> Result e b -> Result e c #

(*>) :: Result e a -> Result e b -> Result e b #

(<*) :: Result e a -> Result e b -> Result e a #

Failure [GQLError] (Result ev) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

failure :: [GQLError] -> Result ev v Source #

Failure [ValidationError] (Result ev) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

failure :: [ValidationError] -> Result ev v Source #

newtype ResultT event (m :: * -> *) a Source #

Constructors

ResultT 

Fields

Instances

Instances details
Monad m => Failure GQLErrors (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

failure :: GQLErrors -> ResultT event m v Source #

Applicative m => PushEvents event (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

pushEvents :: [event] -> ResultT event m () Source #

MonadTrans (ResultT event) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

lift :: Monad m => m a -> ResultT event m a #

Monad m => Monad (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

(>>=) :: ResultT event m a -> (a -> ResultT event m b) -> ResultT event m b #

(>>) :: ResultT event m a -> ResultT event m b -> ResultT event m b #

return :: a -> ResultT event m a #

Functor m => Functor (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

fmap :: (a -> b) -> ResultT event m a -> ResultT event m b #

(<$) :: a -> ResultT event m b -> ResultT event m a #

Applicative m => Applicative (ResultT event m) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

pure :: a -> ResultT event m a #

(<*>) :: ResultT event m (a -> b) -> ResultT event m a -> ResultT event m b #

liftA2 :: (a -> b -> c) -> ResultT event m a -> ResultT event m b -> ResultT event m c #

(*>) :: ResultT event m a -> ResultT event m b -> ResultT event m b #

(<*) :: ResultT event m a -> ResultT event m b -> ResultT event m a #

cleanEvents :: Functor m => ResultT e m a -> ResultT e' m a Source #

resultOr :: (GQLErrors -> a') -> (a -> a') -> Result e a -> a' Source #

class SemigroupM (m :: * -> *) a where Source #

Methods

mergeM :: [Ref FieldName] -> a -> a -> m a Source #

Instances

Instances details
(Monad m, Failure ValidationErrors m) => SemigroupM m UnionTag Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Selection

(Monad m, Failure ValidationErrors m) => SemigroupM m (Schema s) Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.TypeSystem

Methods

mergeM :: [Ref FieldName] -> Schema s -> Schema s -> m (Schema s) Source #

(Monad m, SemigroupM m (SelectionSet a), Failure ValidationErrors m) => SemigroupM m (Selection a) Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Selection

Methods

mergeM :: [Ref FieldName] -> Selection a -> Selection a -> m (Selection a) Source #

(Monad m, Failure ValidationErrors m, SemigroupM m (SelectionSet s)) => SemigroupM m (SelectionContent s) Source # 
Instance details

Defined in Data.Morpheus.Types.Internal.AST.Selection

(NameCollision a, Monad m, KeyOf k a, Failure ValidationErrors m) => SemigroupM m (HashMap k a) Source # 
Instance details

Defined in Data.Morpheus.Ext.SemigroupM

Methods

mergeM :: [Ref FieldName] -> HashMap k a -> HashMap k a -> m (HashMap k a) Source #

(NameCollision a, Monad m, KeyOf k a, Failure ValidationErrors m) => SemigroupM m (OrdMap k a) Source # 
Instance details

Defined in Data.Morpheus.Ext.OrdMap

Methods

mergeM :: [Ref FieldName] -> OrdMap k a -> OrdMap k a -> m (OrdMap k a) Source #

mapEvent :: Monad m => (e -> e') -> ResultT e m value -> ResultT e' m value Source #

unpackEvents :: Result event a -> [event] Source #

unsafeFromList :: (UnsafeFromList f, Hashable k, KeyOf k a, Eq k) => [(k, a)] -> f k a Source #

(<:>) :: SemigroupM m a => a -> a -> m a Source #

resolveWith :: Monad m => (a -> a -> m a) -> NonEmpty a -> m a Source #

runResolutionT :: ResolutionT k a coll m b -> ([(k, a)] -> coll) -> (NonEmpty a -> m a) -> m b Source #