crypton-1.0.4: Cryptography Primitives sink
LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
StabilityStable
PortabilityExcellent
Safe HaskellNone
LanguageHaskell2010

Crypto.Error

Description

 
Synopsis

Documentation

throwCryptoError :: CryptoFailable a -> a Source #

Same as throwCryptoErrorIO but throw the error asynchronously.

data CryptoError Source #

Enumeration of all possible errors that can be found in this library

Instances

Instances details
Data CryptoError Source # 
Instance details

Defined in Crypto.Error.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CryptoError -> c CryptoError

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CryptoError

toConstr :: CryptoError -> Constr

dataTypeOf :: CryptoError -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CryptoError)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CryptoError)

gmapT :: (forall b. Data b => b -> b) -> CryptoError -> CryptoError

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CryptoError -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CryptoError -> r

gmapQ :: (forall d. Data d => d -> u) -> CryptoError -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> CryptoError -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CryptoError -> m CryptoError

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CryptoError -> m CryptoError

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CryptoError -> m CryptoError

Enum CryptoError Source # 
Instance details

Defined in Crypto.Error.Types

Exception CryptoError Source # 
Instance details

Defined in Crypto.Error.Types

Methods

toException :: CryptoError -> SomeException

fromException :: SomeException -> Maybe CryptoError

displayException :: CryptoError -> String

Show CryptoError Source # 
Instance details

Defined in Crypto.Error.Types

Methods

showsPrec :: Int -> CryptoError -> ShowS

show :: CryptoError -> String

showList :: [CryptoError] -> ShowS

Eq CryptoError Source # 
Instance details

Defined in Crypto.Error.Types

Methods

(==) :: CryptoError -> CryptoError -> Bool

(/=) :: CryptoError -> CryptoError -> Bool

data CryptoFailable a Source #

A simple Either like type to represent a computation that can fail

2 possibles values are:

  • CryptoPassed : The computation succeeded, and contains the result of the computation
  • CryptoFailed : The computation failed, and contains the cryptographic error associated

Instances

Instances details
Applicative CryptoFailable Source # 
Instance details

Defined in Crypto.Error.Types

Functor CryptoFailable Source # 
Instance details

Defined in Crypto.Error.Types

Methods

fmap :: (a -> b) -> CryptoFailable a -> CryptoFailable b

(<$) :: a -> CryptoFailable b -> CryptoFailable a

Monad CryptoFailable Source # 
Instance details

Defined in Crypto.Error.Types

MonadFailure CryptoFailable Source # 
Instance details

Defined in Crypto.Error.Types

Associated Types

type Failure CryptoFailable 
Instance details

Defined in Crypto.Error.Types

Methods

mFail :: Failure CryptoFailable -> CryptoFailable ()

Show a => Show (CryptoFailable a) Source # 
Instance details

Defined in Crypto.Error.Types

Methods

showsPrec :: Int -> CryptoFailable a -> ShowS

show :: CryptoFailable a -> String

showList :: [CryptoFailable a] -> ShowS

Eq a => Eq (CryptoFailable a) Source # 
Instance details

Defined in Crypto.Error.Types

Methods

(==) :: CryptoFailable a -> CryptoFailable a -> Bool

(/=) :: CryptoFailable a -> CryptoFailable a -> Bool

type Failure CryptoFailable Source # 
Instance details

Defined in Crypto.Error.Types

throwCryptoErrorIO :: CryptoFailable a -> IO a Source #

Throw an CryptoError as exception on CryptoFailed result, otherwise return the computed value

onCryptoFailure :: (CryptoError -> r) -> (a -> r) -> CryptoFailable a -> r Source #

Simple either like combinator for CryptoFailable type

eitherCryptoError :: CryptoFailable a -> Either CryptoError a Source #

Transform a CryptoFailable to an Either

maybeCryptoError :: CryptoFailable a -> Maybe a Source #

Transform a CryptoFailable to a Maybe