packages feed

ipfs-1.2.0.0: library/Network/IPFS/Prelude.hs

-- | A custom @Prelude@-like module for this project
module Network.IPFS.Prelude
  ( module Control.Lens
  , module Control.Monad.Logger
  , module Data.Aeson
  , module Flow
  , module RIO
  , module RIO.Process
  , identity
  , logInfo
  , logDebug
  , logWarn
  , logError
  , logOther
  ) where

import           Control.Lens                                ((?~))
import           Control.Monad.Logger                        (LogLevel (..),
                                                              MonadLogger (..),
                                                              ToLogStr (..),
                                                              logWithoutLoc)
import           Data.Aeson

import           Network.IPFS.Internal.Orphanage.Utf8Builder ()

import           Flow

import           RIO                                         hiding (Handler,
                                                              LogLevel (..),
                                                              LogSource, id,
                                                              logDebug,
                                                              logDebugS,
                                                              logError,
                                                              logErrorS,
                                                              logInfo, logInfoS,
                                                              logOther,
                                                              logOtherS,
                                                              logWarn, logWarnS,
                                                              timeout, (&))
import           RIO.Process

identity :: a -> a
identity a = a

logInfo :: (ToLogStr msg, MonadLogger m) => msg -> m ()
logInfo = logWithoutLoc "" LevelInfo

logDebug :: (ToLogStr msg, MonadLogger m) => msg -> m ()
logDebug = logWithoutLoc "" LevelDebug

logWarn :: (ToLogStr msg, MonadLogger m) => msg -> m ()
logWarn = logWithoutLoc "" LevelWarn

logError :: (ToLogStr msg, MonadLogger m) => msg -> m ()
logError = logWithoutLoc "" LevelError

logOther :: (ToLogStr msg, MonadLogger m) => LogLevel -> msg -> m ()
logOther = logWithoutLoc ""