{-# LANGUAGE DeriveAnyClass #-} module Hercules.Agent.WorkerProtocol.Command where import Data.Binary import qualified Hercules.Agent.WorkerProtocol.Command.Build as Build import qualified Hercules.Agent.WorkerProtocol.Command.BuildResult as BuildResult import qualified Hercules.Agent.WorkerProtocol.Command.Effect as Effect import qualified Hercules.Agent.WorkerProtocol.Command.Eval as Eval import Protolude data Command = Eval Eval.Eval | BuildResult BuildResult.BuildResult | Build Build.Build | Effect Effect.Effect deriving ((forall x. Command -> Rep Command x) -> (forall x. Rep Command x -> Command) -> Generic Command forall x. Rep Command x -> Command forall x. Command -> Rep Command x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Command x -> Command $cfrom :: forall x. Command -> Rep Command x Generic, Get Command [Command] -> Put Command -> Put (Command -> Put) -> Get Command -> ([Command] -> Put) -> Binary Command forall t. (t -> Put) -> Get t -> ([t] -> Put) -> Binary t putList :: [Command] -> Put $cputList :: [Command] -> Put get :: Get Command $cget :: Get Command put :: Command -> Put $cput :: Command -> Put Binary, Int -> Command -> ShowS [Command] -> ShowS Command -> String (Int -> Command -> ShowS) -> (Command -> String) -> ([Command] -> ShowS) -> Show Command forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Command] -> ShowS $cshowList :: [Command] -> ShowS show :: Command -> String $cshow :: Command -> String showsPrec :: Int -> Command -> ShowS $cshowsPrec :: Int -> Command -> ShowS Show, Command -> Command -> Bool (Command -> Command -> Bool) -> (Command -> Command -> Bool) -> Eq Command forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Command -> Command -> Bool $c/= :: Command -> Command -> Bool == :: Command -> Command -> Bool $c== :: Command -> Command -> Bool Eq)