module Signet.Unstable.Exception.UnknownSignature where

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

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

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

unwrap :: UnknownSignature -> ByteString.ByteString
unwrap :: UnknownSignature -> ByteString
unwrap (MkUnknownSignature ByteString
byteString) = ByteString
byteString