{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE DeriveDataTypeable #-} module JSDOM.Custom.DOMError ( module Generated , DOMErrorException(..) , throwDOMErrorException ) where import Prelude () import Prelude.Compat import Data.Typeable (Typeable) import Control.Exception (Exception, throwIO) import Control.Monad.IO.Class (MonadIO(..)) import JSDOM.Types (MonadDOM) import JSDOM.Generated.DOMError as Generated data DOMErrorException = DOMErrorException { DOMErrorException -> String domErrorName :: String } deriving (Int -> DOMErrorException -> ShowS [DOMErrorException] -> ShowS DOMErrorException -> String (Int -> DOMErrorException -> ShowS) -> (DOMErrorException -> String) -> ([DOMErrorException] -> ShowS) -> Show DOMErrorException forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> DOMErrorException -> ShowS showsPrec :: Int -> DOMErrorException -> ShowS $cshow :: DOMErrorException -> String show :: DOMErrorException -> String $cshowList :: [DOMErrorException] -> ShowS showList :: [DOMErrorException] -> ShowS Show, DOMErrorException -> DOMErrorException -> Bool (DOMErrorException -> DOMErrorException -> Bool) -> (DOMErrorException -> DOMErrorException -> Bool) -> Eq DOMErrorException forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: DOMErrorException -> DOMErrorException -> Bool == :: DOMErrorException -> DOMErrorException -> Bool $c/= :: DOMErrorException -> DOMErrorException -> Bool /= :: DOMErrorException -> DOMErrorException -> Bool Eq, Typeable) instance Exception DOMErrorException throwDOMErrorException :: MonadDOM m => DOMError -> m a throwDOMErrorException :: forall (m :: * -> *) a. MonadDOM m => DOMError -> m a throwDOMErrorException DOMError error = do String domErrorName <- DOMError -> m String forall (m :: * -> *) self result. (MonadDOM m, IsDOMError self, FromJSString result) => self -> m result getName DOMError error IO a -> m a forall a. IO a -> m a forall (m :: * -> *) a. MonadIO m => IO a -> m a liftIO (IO a -> m a) -> IO a -> m a forall a b. (a -> b) -> a -> b $ DOMErrorException -> IO a forall e a. Exception e => e -> IO a throwIO DOMErrorException{String domErrorName :: String domErrorName :: String ..}