graphql-engine-1.0.0: GraphQL API over Postgres
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.Trans.Extended

Synopsis

Documentation

newtype TransT t (m :: Type -> Type) a Source #

Utility newtype that can be used to derive type class instances just using MonadTrans.

We often derive some MonadBlaBla instance for ReaderT by using lift from MonadTrans. Which is fine, but it gets laborious if you do the same for ExceptT, StateT and WriterT, even though the method implementations are exactly the same. TransT allows you to write one MonadTrans-based instance, which can then be used with DerivingVia to use that one implementation for all monad transformers that use that same lifting implementation.

Constructors

TransT (t m a) 

Instances

Instances details
MFunctor t => MFunctor (TransT t :: (Type -> Type) -> Type -> Type) Source # 
Instance details

Defined in Control.Monad.Trans.Extended

Methods

hoist :: forall m n (b :: k). Monad m => (forall a. m a -> n a) -> TransT t m b -> TransT t n b Source #

MMonad t => MMonad (TransT t) Source # 
Instance details

Defined in Control.Monad.Trans.Extended

Methods

embed :: forall (n :: Type -> Type) m b. Monad n => (forall a. m a -> TransT t n a) -> TransT t m b -> TransT t n b Source #

MonadTrans t => MonadTrans (TransT t) Source # 
Instance details

Defined in Control.Monad.Trans.Extended

Methods

lift :: Monad m => m a -> TransT t m a #

Applicative (t m) => Applicative (TransT t m) Source # 
Instance details

Defined in Control.Monad.Trans.Extended

Methods

pure :: a -> TransT t m a #

(<*>) :: TransT t m (a -> b) -> TransT t m a -> TransT t m b #

liftA2 :: (a -> b -> c) -> TransT t m a -> TransT t m b -> TransT t m c #

(*>) :: TransT t m a -> TransT t m b -> TransT t m b #

(<*) :: TransT t m a -> TransT t m b -> TransT t m a #

Functor (t m) => Functor (TransT t m) Source # 
Instance details

Defined in Control.Monad.Trans.Extended

Methods

fmap :: (a -> b) -> TransT t m a -> TransT t m b #

(<$) :: a -> TransT t m b -> TransT t m a #

Monad (t m) => Monad (TransT t m) Source # 
Instance details

Defined in Control.Monad.Trans.Extended

Methods

(>>=) :: TransT t m a -> (a -> TransT t m b) -> TransT t m b #

(>>) :: TransT t m a -> TransT t m b -> TransT t m b #

return :: a -> TransT t m a #

(MonadEECredentialsStorage m, MonadTrans t, Monad (t m)) => MonadEECredentialsStorage (TransT t m) Source # 
Instance details

Defined in Hasura.Metadata.Class

(MonadMetadataStorage m, MonadTrans t, Monad (t m)) => MonadMetadataStorage (TransT t m) Source # 
Instance details

Defined in Hasura.Metadata.Class

Methods

fetchMetadataResourceVersion :: TransT t m (Either QErr MetadataResourceVersion) Source #

fetchMetadata :: TransT t m (Either QErr MetadataWithResourceVersion) Source #

fetchMetadataNotifications :: MetadataResourceVersion -> InstanceId -> TransT t m (Either QErr [(MetadataResourceVersion, CacheInvalidations)]) Source #

setMetadata :: MetadataResourceVersion -> Metadata -> TransT t m (Either QErr MetadataResourceVersion) Source #

notifySchemaCacheSync :: MetadataResourceVersion -> InstanceId -> CacheInvalidations -> TransT t m (Either QErr ()) Source #

getCatalogState :: TransT t m (Either QErr CatalogState) Source #

setCatalogState :: CatalogStateType -> Value -> TransT t m (Either QErr ()) Source #

fetchSourceIntrospection :: MetadataResourceVersion -> TransT t m (Either QErr (Maybe StoredIntrospection)) Source #

storeSourceIntrospection :: StoredIntrospection -> MetadataResourceVersion -> TransT t m (Either QErr ()) Source #

getMetadataDbUid :: TransT t m (Either QErr MetadataDbId) Source #

checkMetadataStorageHealth :: TransT t m (Either QErr ()) Source #

getDeprivedCronTriggerStats :: [TriggerName] -> TransT t m (Either QErr [CronTriggerStats]) Source #

getScheduledEventsForDelivery :: [TriggerName] -> TransT t m (Either QErr ([CronEvent], [OneOffScheduledEvent])) Source #

insertCronEvents :: [CronEventSeed] -> TransT t m (Either QErr ()) Source #

insertOneOffScheduledEvent :: OneOffEvent -> TransT t m (Either QErr EventId) Source #

insertScheduledEventInvocation :: Invocation 'ScheduledType -> ScheduledEventType -> TransT t m (Either QErr ()) Source #

setScheduledEventOp :: ScheduledEventId -> ScheduledEventOp -> ScheduledEventType -> TransT t m (Either QErr ()) Source #

unlockScheduledEvents :: ScheduledEventType -> [ScheduledEventId] -> TransT t m (Either QErr Int) Source #

unlockAllLockedScheduledEvents :: TransT t m (Either QErr ()) Source #

clearFutureCronEvents :: ClearCronEvents -> TransT t m (Either QErr ()) Source #

getOneOffScheduledEvents :: ScheduledEventPagination -> [ScheduledEventStatus] -> RowsCountOption -> TransT t m (Either QErr (WithOptionalTotalCount [OneOffScheduledEvent])) Source #

getCronEvents :: TriggerName -> ScheduledEventPagination -> [ScheduledEventStatus] -> RowsCountOption -> TransT t m (Either QErr (WithOptionalTotalCount [CronEvent])) Source #

getScheduledEventInvocations :: GetScheduledEventInvocations -> TransT t m (Either QErr (WithOptionalTotalCount [ScheduledEventInvocation])) Source #

deleteScheduledEvent :: ScheduledEventId -> ScheduledEventType -> TransT t m (Either QErr ()) Source #

insertAction :: ActionName -> SessionVariables -> [Header] -> Value -> TransT t m (Either QErr ActionId) Source #

fetchUndeliveredActionEvents :: TransT t m (Either QErr [ActionLogItem]) Source #

setActionStatus :: ActionId -> AsyncActionStatus -> TransT t m (Either QErr ()) Source #

fetchActionResponse :: ActionId -> TransT t m (Either QErr ActionLogResponse) Source #

clearActionData :: ActionName -> TransT t m (Either QErr ()) Source #

setProcessingActionLogsToPending :: LockedActionIdArray -> TransT t m (Either QErr ()) Source #