{-# LANGUAGE CPP #-}
module Data.X509.Internal
( module Data.ASN1.Parse
, asn1Container
, OID
, ErrT
, runErrT
) where
import Data.ASN1.Types
import Data.ASN1.Parse
#if MIN_VERSION_mtl(2,2,1)
import Control.Monad.Except
runErrT :: ExceptT e m a -> m (Either e a)
runErrT :: ExceptT e m a -> m (Either e a)
runErrT = ExceptT e m a -> m (Either e a)
forall e (m :: * -> *) a. ExceptT e m a -> m (Either e a)
runExceptT
type ErrT = ExceptT
#else
import Control.Monad.Error
runErrT :: ErrorT e m a -> m (Either e a)
runErrT = runErrorT
type ErrT = ErrorT
#endif
asn1Container :: ASN1ConstructionType -> [ASN1] -> [ASN1]
asn1Container :: ASN1ConstructionType -> [ASN1] -> [ASN1]
asn1Container ASN1ConstructionType
ty [ASN1]
l = [ASN1ConstructionType -> ASN1
Start ASN1ConstructionType
ty] [ASN1] -> [ASN1] -> [ASN1]
forall a. [a] -> [a] -> [a]
++ [ASN1]
l [ASN1] -> [ASN1] -> [ASN1]
forall a. [a] -> [a] -> [a]
++ [ASN1ConstructionType -> ASN1
End ASN1ConstructionType
ty]