Copyright | (c) Moritz Clasmeier 2017 2018 |
---|---|
License | BSD3 |
Maintainer | mtesseract@silverratio.net |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
This module provides the Nakadi API Types.
- module Network.Nakadi.Types.Config
- module Network.Nakadi.Types.Exceptions
- module Network.Nakadi.Types.Logger
- module Network.Nakadi.Types.Problem
- module Network.Nakadi.Types.Service
- class (Monad b, Monad m) => MonadNakadiBase b m where
- class (MonadNakadiBase b m, MonadThrow b, MonadMask b, MonadThrow m, MonadCatch m) => MonadNakadi b m | m -> b where
- class HasNakadiConfig b r | r -> b where
- data NakadiT b m a
- runNakadiT :: Config b -> NakadiT b m a -> m a
Documentation
module Network.Nakadi.Types.Config
module Network.Nakadi.Types.Logger
module Network.Nakadi.Types.Problem
module Network.Nakadi.Types.Service
class (Monad b, Monad m) => MonadNakadiBase b m where Source #
nakadiLiftBase :: b a -> m a Source #
nakadiLiftBase :: (MonadNakadiBase b n, MonadTrans t, m ~ t n) => b a -> m a Source #
MonadNakadiBase IO IO Source # | |
MonadNakadiBase b m => MonadNakadiBase b (ResourceT m) Source # | |
MonadNakadiBase b m => MonadNakadiBase b (NoLoggingT m) Source # | |
MonadNakadiBase b m => MonadNakadiBase b (LoggingT m) Source # | |
MonadNakadiBase b m => MonadNakadiBase b (StateT s m) Source # | |
MonadNakadiBase b m => MonadNakadiBase b (StateT s m) Source # | |
(MonadNakadiBase b m, Monoid w) => MonadNakadiBase b (WriterT w m) Source # | |
(MonadNakadiBase b m, Monoid w) => MonadNakadiBase b (WriterT w m) Source # | |
MonadNakadiBase b m => MonadNakadiBase b (NakadiT b m) Source # | |
MonadNakadiBase b m => MonadNakadiBase b (ReaderT * r m) Source # | |
Monad m => MonadNakadiBase (LoggingT (ReaderT * r m)) (LoggingT (ReaderT * r m)) Source # | |
Monad m => MonadNakadiBase (NakadiBaseT m) (NakadiBaseT m) Source # | |
Monad m => MonadNakadiBase (ReaderT * r m) (ReaderT * r m) Source # | |
class (MonadNakadiBase b m, MonadThrow b, MonadMask b, MonadThrow m, MonadCatch m) => MonadNakadi b m | m -> b where Source #
The MonadNakadi
typeclass is implemented by monads in which
Nakadi can be called. The first parameter (b
) denotes the `base
monad`. This is the monad in which the core actions are run. This
includes executing (non-streaming) HTTP requests and running
user-provided callbacks. The typeclass provides methods for
* retrieving the Nakadi configuration
* locally changing the Nakadi configuration
* extracting specific Nakadi configuration values
* lifting actions from the
The MonadNakadi
typeclass is modelled closely after MonadReader
.
nakadiAsk :: m (Config b) Source #
nakadiAsk :: (MonadNakadi b n, MonadTrans t, m ~ t n) => m (Config b) Source #
MonadNakadi b m => MonadNakadi b (ResourceT m) Source # | |
MonadNakadi b m => MonadNakadi b (NoLoggingT m) Source # | |
MonadNakadi b m => MonadNakadi b (LoggingT m) Source # | |
MonadNakadi b m => MonadNakadi b (StateT s m) Source # |
|
MonadNakadi b m => MonadNakadi b (StateT s m) Source # |
|
(MonadNakadi b m, Monoid w) => MonadNakadi b (WriterT w m) Source # |
|
(MonadNakadi b m, Monoid w) => MonadNakadi b (WriterT w m) Source # |
|
(MonadCatch m, MonadMask b, MonadNakadiBase b (NakadiT b m)) => MonadNakadi b (NakadiT b m) Source # | |
(MonadMask b, MonadCatch m, MonadNakadiBase b (ReaderT * r m), HasNakadiConfig b r) => MonadNakadi b (ReaderT * r m) Source # | |
runNakadiT :: Config b -> NakadiT b m a -> m a Source #