{-# 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 :: forall self.
(IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
EventName self ProgressEvent
loadStart = DOMString -> EventName self ProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"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 :: forall self.
(IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
EventName self XMLHttpRequestProgressEvent
progress = DOMString -> EventName self XMLHttpRequestProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"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 :: forall self.
(IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
EventName self XMLHttpRequestProgressEvent
abortEvent = DOMString -> EventName self XMLHttpRequestProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"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 :: forall self.
(IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
EventName self XMLHttpRequestProgressEvent
error = DOMString -> EventName self XMLHttpRequestProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"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 :: forall self.
(IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
EventName self XMLHttpRequestProgressEvent
load = DOMString -> EventName self XMLHttpRequestProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"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 :: forall self.
(IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
EventName self ProgressEvent
timeout = DOMString -> EventName self ProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"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 :: forall self.
(IsXMLHttpRequestEventTarget self, IsEventTarget self) =>
EventName self ProgressEvent
loadEnd = DOMString -> EventName self ProgressEvent
forall t e. DOMString -> EventName t e
unsafeEventNameAsync (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"loadend")