module CfnFlip.Prelude
( module X
, readFileBinary
, writeFileBinary
) where
import Prelude as X
import Control.Monad as X (unless, when, (<=<))
import Control.Monad.IO.Class as X (MonadIO (..))
import Control.Monad.IO.Unlift as X (MonadUnliftIO)
import Data.ByteString as X (ByteString)
import Data.Foldable as X (for_, traverse_)
import Data.Maybe as X (fromMaybe)
import Data.Text as X (Text, pack, unpack)
import Data.Text.Encoding as X (encodeUtf8)
import Data.Word as X (Word8)
import UnliftIO.Exception as X (Exception, throwIO, throwString)
import qualified Data.ByteString as BS
{-# ANN module ("HLint: ignore Avoid restricted alias" :: String) #-}
{-# ANN module ("HLint: ignore Avoid restricted qualification" :: String) #-}
readFileBinary :: MonadIO m => FilePath -> m ByteString
readFileBinary :: forall (m :: * -> *). MonadIO m => FilePath -> m ByteString
readFileBinary = IO ByteString -> m ByteString
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ByteString -> m ByteString)
-> (FilePath -> IO ByteString) -> FilePath -> m ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. FilePath -> IO ByteString
BS.readFile
writeFileBinary :: MonadIO m => FilePath -> ByteString -> m ()
writeFileBinary :: forall (m :: * -> *). MonadIO m => FilePath -> ByteString -> m ()
writeFileBinary FilePath
p = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> (ByteString -> IO ()) -> ByteString -> m ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. FilePath -> ByteString -> IO ()
BS.writeFile FilePath
p