polysemy-log-0.7.0.0: lib/Polysemy/Log/Pure.hs
-- |Description: Pure interpreters for 'Log'.
module Polysemy.Log.Pure where
import Polysemy.Log.Effect.Log (Log (Log))
import Polysemy.Log.Data.LogMessage (LogMessage)
-- |Interpret 'Log' in terms of 'Output'.
interpretLogOutput ::
Member (Output LogMessage) r =>
InterpreterFor Log r
interpretLogOutput =
interpret \case
Log msg -> output msg
-- |Interpret 'Log' by discarding all messages.
interpretLogNull :: InterpreterFor Log r
interpretLogNull =
interpret \case
Log _ -> pure ()