module Signet.Unstable.Exception.InvalidSecret where

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

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

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

unwrap :: InvalidSecret -> ByteString.ByteString
unwrap :: InvalidSecret -> ByteString
unwrap (MkInvalidSecret ByteString
byteString) = ByteString
byteString