polysemy-log-0.1.0.0: lib/Polysemy/Log/Pure.hs
-- |Description: Internal
module Polysemy.Log.Pure where
import Polysemy.Output (Output, output)
import Polysemy.Log.Data.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 ()