diff options
| author | Eugen Wissner <belka@caraus.de> | 2023-10-01 17:19:06 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2023-10-01 17:19:06 +0200 |
| commit | f4b7883cf2a6739ca9cd7b8fe94cfe11df3918bc (patch) | |
| tree | e68eaf5970c1ff9454f06973d257022684926912 /lib/SlackBuilder/Trans.hs | |
| parent | 69b24c6cfa524d5367df1b9b5a7b5c8bcd8da259 (diff) | |
| download | slackbuilder-f4b7883cf2a6739ca9cd7b8fe94cfe11df3918bc.tar.gz | |
Migrate composer updater
Diffstat (limited to 'lib/SlackBuilder/Trans.hs')
| -rw-r--r-- | lib/SlackBuilder/Trans.hs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/SlackBuilder/Trans.hs b/lib/SlackBuilder/Trans.hs index d678a19..5147a9a 100644 --- a/lib/SlackBuilder/Trans.hs +++ b/lib/SlackBuilder/Trans.hs @@ -5,6 +5,7 @@ module SlackBuilder.Trans import Control.Monad.Trans.Reader (ReaderT(..)) import SlackBuilder.Config import Control.Monad.IO.Class (MonadIO(..)) +import Control.Monad.Catch (MonadCatch(..), MonadThrow(..)) newtype SlackBuilderT a = SlackBuilderT { runSlackBuilderT :: ReaderT Settings IO a @@ -27,3 +28,12 @@ instance Monad SlackBuilderT instance MonadIO SlackBuilderT where liftIO = SlackBuilderT . liftIO + +instance MonadThrow SlackBuilderT + where + throwM = SlackBuilderT . throwM + +instance MonadCatch SlackBuilderT + where + catch (SlackBuilderT action) handler = + SlackBuilderT $ catch action $ runSlackBuilderT . handler |
