{-# LANGUAGE DeriveAnyClass #-}

module Hercules.Agent.WorkerProtocol.Event.AttributeError where

import Data.Binary
import Protolude
import Prelude ()

data AttributeError = AttributeError
  { AttributeError -> [ByteString]
path :: [ByteString],
    AttributeError -> Text
message :: Text,
    AttributeError -> Maybe Text
errorType :: Maybe Text,
    AttributeError -> Maybe Text
errorDerivation :: Maybe Text,
    AttributeError -> Maybe Text
trace :: Maybe Text
  }
  deriving ((forall x. AttributeError -> Rep AttributeError x)
-> (forall x. Rep AttributeError x -> AttributeError)
-> Generic AttributeError
forall x. Rep AttributeError x -> AttributeError
forall x. AttributeError -> Rep AttributeError x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. AttributeError -> Rep AttributeError x
from :: forall x. AttributeError -> Rep AttributeError x
$cto :: forall x. Rep AttributeError x -> AttributeError
to :: forall x. Rep AttributeError x -> AttributeError
Generic, Get AttributeError
[AttributeError] -> Put
AttributeError -> Put
(AttributeError -> Put)
-> Get AttributeError
-> ([AttributeError] -> Put)
-> Binary AttributeError
forall t. (t -> Put) -> Get t -> ([t] -> Put) -> Binary t
$cput :: AttributeError -> Put
put :: AttributeError -> Put
$cget :: Get AttributeError
get :: Get AttributeError
$cputList :: [AttributeError] -> Put
putList :: [AttributeError] -> Put
Binary, Int -> AttributeError -> ShowS
[AttributeError] -> ShowS
AttributeError -> String
(Int -> AttributeError -> ShowS)
-> (AttributeError -> String)
-> ([AttributeError] -> ShowS)
-> Show AttributeError
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AttributeError -> ShowS
showsPrec :: Int -> AttributeError -> ShowS
$cshow :: AttributeError -> String
show :: AttributeError -> String
$cshowList :: [AttributeError] -> ShowS
showList :: [AttributeError] -> ShowS
Show, AttributeError -> AttributeError -> Bool
(AttributeError -> AttributeError -> Bool)
-> (AttributeError -> AttributeError -> Bool) -> Eq AttributeError
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AttributeError -> AttributeError -> Bool
== :: AttributeError -> AttributeError -> Bool
$c/= :: AttributeError -> AttributeError -> Bool
/= :: AttributeError -> AttributeError -> Bool
Eq)