module Signet.Unstable.Exception.InvalidTimestamp where

import qualified Control.Monad.Catch as Exception
import qualified Data.ByteString as ByteString

newtype InvalidTimestamp
  = MkInvalidTimestamp ByteString.ByteString
  deriving (InvalidTimestamp -> InvalidTimestamp -> Bool
(InvalidTimestamp -> InvalidTimestamp -> Bool)
-> (InvalidTimestamp -> InvalidTimestamp -> Bool)
-> Eq InvalidTimestamp
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: InvalidTimestamp -> InvalidTimestamp -> Bool
== :: InvalidTimestamp -> InvalidTimestamp -> Bool
$c/= :: InvalidTimestamp -> InvalidTimestamp -> Bool
/= :: InvalidTimestamp -> InvalidTimestamp -> Bool
Eq, Int -> InvalidTimestamp -> ShowS
[InvalidTimestamp] -> ShowS
InvalidTimestamp -> String
(Int -> InvalidTimestamp -> ShowS)
-> (InvalidTimestamp -> String)
-> ([InvalidTimestamp] -> ShowS)
-> Show InvalidTimestamp
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> InvalidTimestamp -> ShowS
showsPrec :: Int -> InvalidTimestamp -> ShowS
$cshow :: InvalidTimestamp -> String
show :: InvalidTimestamp -> String
$cshowList :: [InvalidTimestamp] -> ShowS
showList :: [InvalidTimestamp] -> ShowS
Show)

instance Exception.Exception InvalidTimestamp where
  displayException :: InvalidTimestamp -> String
displayException = String -> ShowS
forall a. Monoid a => a -> a -> a
mappend String
"invalid timestamp: " ShowS -> (InvalidTimestamp -> String) -> InvalidTimestamp -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> String
forall a. Show a => a -> String
show (ByteString -> String)
-> (InvalidTimestamp -> ByteString) -> InvalidTimestamp -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. InvalidTimestamp -> ByteString
unwrap

unwrap :: InvalidTimestamp -> ByteString.ByteString
unwrap :: InvalidTimestamp -> ByteString
unwrap (MkInvalidTimestamp ByteString
byteString) = ByteString
byteString