module Effectful.Zoo.Log.Data.LogMessage where

import Effectful.Zoo.Log.Data.Severity (Severity)
import HaskellWorks.Prelude

data LogMessage i =
  LogMessage
  { forall i. LogMessage i -> Severity
severity :: !Severity
  , forall i. LogMessage i -> i
message :: i
  }
  deriving stock (LogMessage i -> LogMessage i -> Bool
(LogMessage i -> LogMessage i -> Bool)
-> (LogMessage i -> LogMessage i -> Bool) -> Eq (LogMessage i)
forall i. Eq i => LogMessage i -> LogMessage i -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall i. Eq i => LogMessage i -> LogMessage i -> Bool
== :: LogMessage i -> LogMessage i -> Bool
$c/= :: forall i. Eq i => LogMessage i -> LogMessage i -> Bool
/= :: LogMessage i -> LogMessage i -> Bool
Eq, (forall x. LogMessage i -> Rep (LogMessage i) x)
-> (forall x. Rep (LogMessage i) x -> LogMessage i)
-> Generic (LogMessage i)
forall x. Rep (LogMessage i) x -> LogMessage i
forall x. LogMessage i -> Rep (LogMessage i) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall i x. Rep (LogMessage i) x -> LogMessage i
forall i x. LogMessage i -> Rep (LogMessage i) x
$cfrom :: forall i x. LogMessage i -> Rep (LogMessage i) x
from :: forall x. LogMessage i -> Rep (LogMessage i) x
$cto :: forall i x. Rep (LogMessage i) x -> LogMessage i
to :: forall x. Rep (LogMessage i) x -> LogMessage i
Generic, Int -> LogMessage i -> ShowS
[LogMessage i] -> ShowS
LogMessage i -> String
(Int -> LogMessage i -> ShowS)
-> (LogMessage i -> String)
-> ([LogMessage i] -> ShowS)
-> Show (LogMessage i)
forall i. Show i => Int -> LogMessage i -> ShowS
forall i. Show i => [LogMessage i] -> ShowS
forall i. Show i => LogMessage i -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall i. Show i => Int -> LogMessage i -> ShowS
showsPrec :: Int -> LogMessage i -> ShowS
$cshow :: forall i. Show i => LogMessage i -> String
show :: LogMessage i -> String
$cshowList :: forall i. Show i => [LogMessage i] -> ShowS
showList :: [LogMessage i] -> ShowS
Show)