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

Data.Morpheus.Internal.Ext

Synopsis

Documentation

type Failure = MonadError Source #

Deprecated: use MonadError

class PushEvents e m where Source #

Methods

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

Instances

Instances details
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 err a Source #

Constructors

Success 

Fields

Failure 

Fields

Instances

Instances details
Bifunctor Result Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

bimap :: (a -> b) -> (c -> d) -> Result a c -> Result b d #

first :: (a -> b) -> Result a c -> Result b c #

second :: (b -> c) -> Result a b -> Result a c #

MonadError er (Result er) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

throwError :: er -> Result er a #

catchError :: Result er a -> (er -> Result er a) -> Result er a #

Monad (Result er) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

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

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

return :: a -> Result er a #

Functor (Result err) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

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

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

IsString err => MonadFail (Result err) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

fail :: String -> Result err a #

Applicative (Result er) Source # 
Instance details

Defined in Data.Morpheus.Ext.Result

Methods

pure :: a -> Result er a #

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

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

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

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

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

Constructors

ResultT 

Fields

Instances

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

Defined in Data.Morpheus.Ext.Result

Methods

throwError :: GQLError -> ResultT event m a #

catchError :: ResultT event m a -> (GQLError -> ResultT event m a) -> ResultT event m a #

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 :: (NonEmpty err -> a') -> (a -> a') -> Result err a -> a' Source #

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

unsafeFromList :: IsMap k m => [(k, a)] -> m a Source #

(<:>) :: (Merge (HistoryT m) a, Monad m) => 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 #

toEither :: Result err b -> Either (NonEmpty err) b Source #

class Merge m a where Source #

Methods

merge :: Monad m => a -> a -> m a Source #

Instances

Instances details
(Monad m, MonadError GQLError m) => Merge m (Schema s) Source # 
Instance details

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

Methods

merge :: Schema s -> Schema s -> m (Schema s) Source #

(Eq k, Hashable k, MonadError e m, NameCollision e a) => Merge m (HashMap k a) Source # 
Instance details

Defined in Data.Mergeable.Internal.Merge

Methods

merge :: HashMap k a -> HashMap k a -> m (HashMap k a) Source #

(NameCollision e a, Eq k, Hashable k, Monad m, MonadError e m) => Merge m (OrdMap k a) Source # 
Instance details

Defined in Data.Mergeable.OrdMap

Methods

merge :: OrdMap k a -> OrdMap k a -> m (OrdMap k a) Source #

(Monad m, MonadError GQLError m) => Merge (HistoryT m) UnionTag Source # 
Instance details

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

(Monad m, MonadError GQLError m, Merge (HistoryT m) (SelectionSet s)) => Merge (HistoryT m) (Selection s) Source # 
Instance details

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

Methods

merge :: Selection s -> Selection s -> HistoryT m (Selection s) Source #

(Monad m, MonadError GQLError m, Merge (HistoryT m) (SelectionSet s)) => Merge (HistoryT m) (SelectionContent s) Source # 
Instance details

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

failure :: MonadError e m => e -> m a Source #

Deprecated: use throwError