From 842fafb4fdf941c766f83aed0a028d1dedf36f5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= <mordae@anilinux.org> Date: Mon, 17 May 2021 01:55:01 +0200 Subject: [PATCH] Make better use of UnliftIO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Hamal Dvořák <mordae@anilinux.org> --- hikaru.cabal | 1 + lib/Hikaru/Action.hs | 12 ++++++------ lib/Hikaru/Config.hs | 9 ++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/hikaru.cabal b/hikaru.cabal index ff6d92a..482b7a1 100644 --- a/hikaru.cabal +++ b/hikaru.cabal @@ -85,6 +85,7 @@ common common , string-conversions >=0.4 && <0.5 , text >=1.2 && <1.3 , time >=1.9 && <1.12 + , unliftio >=0.2 && <0.3 , wai >=3.2 && <3.3 , wai-extra >=3.0 && <3.2 , wai-websockets >=3.0 && <3.1 diff --git a/lib/Hikaru/Action.hs b/lib/Hikaru/Action.hs index c5e4b14..977a658 100644 --- a/lib/Hikaru/Action.hs +++ b/lib/Hikaru/Action.hs @@ -113,7 +113,7 @@ module Hikaru.Action , FilePath ) where - import Relude + import Relude hiding (writeIORef, readIORef, modifyIORef', newIORef) import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as LBS @@ -121,8 +121,8 @@ where import qualified Data.Text.Lazy as LT import qualified Network.Wai.Parse as Parse - import Control.Exception (throwIO, bracket_) import Control.Monad.Trans.Resource + import UnliftIO import Data.Aeson import Data.Binary.Builder import Data.Dynamic @@ -177,7 +177,7 @@ where getActionField :: (MonadAction m) => (ActionEnv -> IORef a) -> m a getActionField field = do ref <- field <$> getActionEnv - liftIO $ readIORef ref + readIORef ref -- | @@ -186,7 +186,7 @@ where setActionField :: (MonadAction m) => (ActionEnv -> IORef a) -> a -> m () setActionField field value = do ref <- field <$> getActionEnv - liftIO $ writeIORef ref value + writeIORef ref value -- | @@ -196,7 +196,7 @@ where => (ActionEnv -> IORef a) -> (a -> a) -> m () modifyActionField field fn = do ref <- field <$> getActionEnv - liftIO $ modifyIORef' ref fn + modifyIORef' ref fn -- | @@ -1166,7 +1166,7 @@ where -- Same an IO exception in the form of ('RequestError', 'Text'). -- throwError :: (MonadAction m) => RequestError -> Text -> m a - throwError exn msg = liftIO $ throwIO (exn, msg) + throwError exn msg = throwIO (exn, msg) -- Localization ------------------------------------------------------------ diff --git a/lib/Hikaru/Config.hs b/lib/Hikaru/Config.hs index e0a914c..1529b79 100644 --- a/lib/Hikaru/Config.hs +++ b/lib/Hikaru/Config.hs @@ -36,15 +36,14 @@ module Hikaru.Config ) where import Relude hiding (drop, lines, isPrefixOf, length, span) - - import qualified Data.Map as Map - + import UnliftIO.Environment import Crypto.Random.Entropy import Data.ByteArray.Encoding import Data.String.Conversions import Data.Text hiding (map) import Hikaru.Types - import System.Environment + + import qualified Data.Map as Map -- | @@ -57,7 +56,7 @@ where -- Read configuration from program environment. -- configFromEnv :: (MonadIO m) => m Config - configFromEnv = Map.fromList <$> map conv <$> liftIO getEnvironment + configFromEnv = Map.fromList <$> map conv <$> getEnvironment where conv (k, v) = (cs k, cs v) -- GitLab