{-# 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 $cto :: forall x. Rep LogMessage x -> LogMessage $cfrom :: forall x. LogMessage -> Rep LogMessage x 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 showList :: [LogMessage] -> ShowS $cshowList :: [LogMessage] -> ShowS show :: LogMessage -> String $cshow :: LogMessage -> String showsPrec :: Int -> LogMessage -> ShowS $cshowsPrec :: Int -> LogMessage -> ShowS Show, LogMessage -> LogMessage -> Bool (LogMessage -> LogMessage -> Bool) -> (LogMessage -> LogMessage -> Bool) -> Eq LogMessage forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: LogMessage -> LogMessage -> Bool $c/= :: LogMessage -> LogMessage -> Bool == :: LogMessage -> LogMessage -> Bool $c== :: LogMessage -> LogMessage -> Bool Eq, LogMessage -> () (LogMessage -> ()) -> NFData LogMessage forall a. (a -> ()) -> NFData a rnf :: LogMessage -> () $crnf :: LogMessage -> () NFData, [LogMessage] -> Encoding [LogMessage] -> Value LogMessage -> Encoding LogMessage -> Value (LogMessage -> Value) -> (LogMessage -> Encoding) -> ([LogMessage] -> Value) -> ([LogMessage] -> Encoding) -> ToJSON LogMessage forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a toEncodingList :: [LogMessage] -> Encoding $ctoEncodingList :: [LogMessage] -> Encoding toJSONList :: [LogMessage] -> Value $ctoJSONList :: [LogMessage] -> Value toEncoding :: LogMessage -> Encoding $ctoEncoding :: LogMessage -> Encoding toJSON :: LogMessage -> Value $ctoJSON :: LogMessage -> Value 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 parseJSONList :: Value -> Parser [LogMessage] $cparseJSONList :: Value -> Parser [LogMessage] parseJSON :: Value -> Parser LogMessage $cparseJSON :: Value -> Parser LogMessage FromJSON)