Safe Haskell | None |
---|---|
Language | Haskell2010 |
Module for interface of the ATND JSON API.
Example usage to get events (in IO monad):
cfg <- defaultATNDConfig runATND cfg $ do getEvents <[eventId]> <[keywords]> ... Nothing ...
To run in a monad that implements MonadIO, MonadLogger and MonadBaseControl IO (such as a Yesod Handler), use ATNDM.
- type ATND a = ATNDT (LoggingT IO) a
- type ATNDT m a = (MonadIO m, MonadLogger m, MonadBaseControl IO m) => ReaderT ATNDConfig m a
- runATND :: MonadIO m => ATNDConfig -> ATNDT (LoggingT IO) a -> m a
- runATNDT :: (MonadIO m, MonadLogger m, MonadBaseControl IO m) => ATNDConfig -> ATNDT m a -> m a
- query :: FromJSON x => Section -> [(ByteString, Maybe ByteString)] -> ATNDT m x
- query' :: FromJSON x => Section -> [(ByteString, Maybe ByteString)] -> ATNDT m x
- data ATNDConfig = ATNDConfig {}
- defaultATNDConfig :: MonadIO m => m ATNDConfig
- data ATNDError
The ATND/ATNDT monad
type ATNDT m a = (MonadIO m, MonadLogger m, MonadBaseControl IO m) => ReaderT ATNDConfig m a Source
ATND monad transformer
runATND :: MonadIO m => ATNDConfig -> ATNDT (LoggingT IO) a -> m a Source
Run ATND in IO, ignoring the existing monadic context and logging to stderr.
runATNDT :: (MonadIO m, MonadLogger m, MonadBaseControl IO m) => ATNDConfig -> ATNDT m a -> m a Source
Run ATNDT
Running query
:: FromJSON x | |
=> Section | ATND api type |
-> [(ByteString, Maybe ByteString)] | List for Query String |
-> ATNDT m x |
Run a query to ATND. Remove Nothing in the query list.
query' :: FromJSON x => Section -> [(ByteString, Maybe ByteString)] -> ATNDT m x Source
Run a query to ATND, for apply query list directry.
Config
defaultATNDConfig :: MonadIO m => m ATNDConfig Source
Create a ATNDConfig with a new Manager