{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.XMLHttpRequestEventTarget
       (loadStart, progress, abortEvent, error, load, timeout, loadEnd,
        XMLHttpRequestEventTarget(..), gTypeXMLHttpRequestEventTarget,
        IsXMLHttpRequestEventTarget, toXMLHttpRequestEventTarget)
       where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums

-- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget.onloadstart Mozilla XMLHttpRequestEventTarget.onloadstart documentation> 
loadStart ::
          (IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
            EventName self ProgressEvent
loadStart :: EventName self ProgressEvent
loadStart = DOMString -> EventName self ProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"loadstart")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget.onprogress Mozilla XMLHttpRequestEventTarget.onprogress documentation> 
progress ::
         (IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
           EventName self XMLHttpRequestProgressEvent
progress :: EventName self XMLHttpRequestProgressEvent
progress = DOMString -> EventName self XMLHttpRequestProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"progress")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget.onabort Mozilla XMLHttpRequestEventTarget.onabort documentation> 
abortEvent ::
           (IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
             EventName self XMLHttpRequestProgressEvent
abortEvent :: EventName self XMLHttpRequestProgressEvent
abortEvent = DOMString -> EventName self XMLHttpRequestProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"abort")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget.onerror Mozilla XMLHttpRequestEventTarget.onerror documentation> 
error ::
      (IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
        EventName self XMLHttpRequestProgressEvent
error :: EventName self XMLHttpRequestProgressEvent
error = DOMString -> EventName self XMLHttpRequestProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"error")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget.onload Mozilla XMLHttpRequestEventTarget.onload documentation> 
load ::
     (IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
       EventName self XMLHttpRequestProgressEvent
load :: EventName self XMLHttpRequestProgressEvent
load = DOMString -> EventName self XMLHttpRequestProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"load")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget.ontimeout Mozilla XMLHttpRequestEventTarget.ontimeout documentation> 
timeout ::
        (IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
          EventName self ProgressEvent
timeout :: EventName self ProgressEvent
timeout = DOMString -> EventName self ProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"timeout")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestEventTarget.onloadend Mozilla XMLHttpRequestEventTarget.onloadend documentation> 
loadEnd ::
        (IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
          EventName self ProgressEvent
loadEnd :: EventName self ProgressEvent
loadEnd = DOMString -> EventName self ProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"loadend")