{-# LANGUAGE DeriveAnyClass #-} module Hercules.API.Logs.LogMessage where import Data.Vector import Data.Word (Word64) import Hercules.API.Logs.LogEntry import Hercules.API.Logs.LogHello (LogHello) import Hercules.API.Prelude data LogMessage = Hello LogHello | LogEntries (Vector LogEntry) | End {LogMessage -> Word64 i :: !Word64, LogMessage -> Word64 ms :: !Word64} deriving ((forall x. LogMessage -> Rep LogMessage x) -> (forall x. Rep LogMessage x -> LogMessage) -> Generic LogMessage forall x. Rep LogMessage x -> LogMessage forall x. LogMessage -> Rep LogMessage x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. LogMessage -> Rep LogMessage x from :: forall x. LogMessage -> Rep LogMessage x $cto :: forall x. Rep LogMessage x -> LogMessage to :: forall x. Rep LogMessage x -> LogMessage Generic, Int -> LogMessage -> ShowS [LogMessage] -> ShowS LogMessage -> String (Int -> LogMessage -> ShowS) -> (LogMessage -> String) -> ([LogMessage] -> ShowS) -> Show LogMessage forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> LogMessage -> ShowS showsPrec :: Int -> LogMessage -> ShowS $cshow :: LogMessage -> String show :: LogMessage -> String $cshowList :: [LogMessage] -> ShowS showList :: [LogMessage] -> ShowS Show, LogMessage -> LogMessage -> Bool (LogMessage -> LogMessage -> Bool) -> (LogMessage -> LogMessage -> Bool) -> Eq LogMessage forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: LogMessage -> LogMessage -> Bool == :: LogMessage -> LogMessage -> Bool $c/= :: LogMessage -> LogMessage -> Bool /= :: LogMessage -> LogMessage -> Bool Eq, LogMessage -> () (LogMessage -> ()) -> NFData LogMessage forall a. (a -> ()) -> NFData a $crnf :: LogMessage -> () rnf :: LogMessage -> () NFData, [LogMessage] -> Value [LogMessage] -> Encoding LogMessage -> Value LogMessage -> Encoding (LogMessage -> Value) -> (LogMessage -> Encoding) -> ([LogMessage] -> Value) -> ([LogMessage] -> Encoding) -> ToJSON LogMessage forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a $ctoJSON :: LogMessage -> Value toJSON :: LogMessage -> Value $ctoEncoding :: LogMessage -> Encoding toEncoding :: LogMessage -> Encoding $ctoJSONList :: [LogMessage] -> Value toJSONList :: [LogMessage] -> Value $ctoEncodingList :: [LogMessage] -> Encoding toEncodingList :: [LogMessage] -> Encoding ToJSON, Value -> Parser [LogMessage] Value -> Parser LogMessage (Value -> Parser LogMessage) -> (Value -> Parser [LogMessage]) -> FromJSON LogMessage forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a $cparseJSON :: Value -> Parser LogMessage parseJSON :: Value -> Parser LogMessage $cparseJSONList :: Value -> Parser [LogMessage] parseJSONList :: Value -> Parser [LogMessage] FromJSON)