{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.XMLHttpRequest
(newXMLHttpRequest, openSimple, open, setRequestHeader, send,
abort, getResponseHeader, getResponseHeader_,
getResponseHeaderUnsafe, getResponseHeaderUnchecked,
getAllResponseHeaders, getAllResponseHeaders_, overrideMimeType,
pattern UNSENT, pattern OPENED, pattern HEADERS_RECEIVED,
pattern LOADING, pattern DONE, readyStateChange, getReadyState,
setTimeout, getTimeout, setWithCredentials, getWithCredentials,
getUpload, getResponseURL, getStatus, getStatusText,
setResponseType, getResponseType, getResponse, getResponseText,
getResponseTextUnsafe, getResponseTextUnchecked, getResponseXML,
getResponseXMLUnsafe, getResponseXMLUnchecked, XMLHttpRequest(..),
gTypeXMLHttpRequest)
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
newXMLHttpRequest :: (MonadDOM m) => m XMLHttpRequest
newXMLHttpRequest :: m XMLHttpRequest
newXMLHttpRequest
= DOM XMLHttpRequest -> m XMLHttpRequest
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSVal -> XMLHttpRequest
XMLHttpRequest (JSVal -> XMLHttpRequest) -> JSM JSVal -> DOM XMLHttpRequest
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> JSM JSVal -> () -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new ([Char] -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg [Char]
"XMLHttpRequest") ())
openSimple ::
(MonadDOM m, ToJSString method, ToJSString url) =>
XMLHttpRequest -> method -> url -> m ()
openSimple :: XMLHttpRequest -> method -> url -> m ()
openSimple XMLHttpRequest
self method
method url
url
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"open" [method -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal method
method, url -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal url
url]))
open ::
(MonadDOM m, ToJSString method, ToJSString url, ToJSString user,
ToJSString password) =>
XMLHttpRequest ->
method -> url -> Bool -> Maybe user -> Maybe password -> m ()
open :: XMLHttpRequest
-> method -> url -> Bool -> Maybe user -> Maybe password -> m ()
open XMLHttpRequest
self method
method url
url Bool
async Maybe user
user Maybe password
password
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"open"
[method -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal method
method, url -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal url
url, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
async, Maybe user -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe user
user,
Maybe password -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe password
password]))
setRequestHeader ::
(MonadDOM m, ToJSString header, ToJSString value) =>
XMLHttpRequest -> header -> value -> m ()
XMLHttpRequest
self header
header value
value
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"setRequestHeader" [header -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal header
header, value -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal value
value]))
send ::
(MonadDOM m, IsXMLHttpRequestBody body) =>
XMLHttpRequest -> Maybe body -> m ()
send :: XMLHttpRequest -> Maybe body -> m ()
send XMLHttpRequest
self Maybe body
body = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"send" [Maybe body -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe body
body]))
abort :: (MonadDOM m) => XMLHttpRequest -> m ()
abort :: XMLHttpRequest -> m ()
abort XMLHttpRequest
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"abort" ()))
getResponseHeader ::
(MonadDOM m, ToJSString name, FromJSString result) =>
XMLHttpRequest -> name -> m (Maybe result)
XMLHttpRequest
self name
name
= DOM (Maybe result) -> m (Maybe result)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getResponseHeader" [name -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal name
name]) JSM JSVal -> (JSVal -> DOM (Maybe result)) -> DOM (Maybe result)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
JSVal -> DOM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)
getResponseHeader_ ::
(MonadDOM m, ToJSString name) => XMLHttpRequest -> name -> m ()
XMLHttpRequest
self name
name
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getResponseHeader" [name -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal name
name]))
getResponseHeaderUnsafe ::
(MonadDOM m, ToJSString name, HasCallStack, FromJSString result) =>
XMLHttpRequest -> name -> m result
XMLHttpRequest
self name
name
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getResponseHeader" [name -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal name
name]) JSM JSVal -> (JSVal -> JSM (Maybe result)) -> JSM (Maybe result)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
JSVal -> JSM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)
JSM (Maybe result) -> (Maybe result -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= DOM result -> (result -> DOM result) -> Maybe result -> DOM result
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM result
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") result -> DOM result
forall (m :: * -> *) a. Monad m => a -> m a
return)
getResponseHeaderUnchecked ::
(MonadDOM m, ToJSString name, FromJSString result) =>
XMLHttpRequest -> name -> m result
XMLHttpRequest
self name
name
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getResponseHeader" [name -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal name
name]) JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getAllResponseHeaders ::
(MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
XMLHttpRequest
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getAllResponseHeaders" ()) JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getAllResponseHeaders_ :: (MonadDOM m) => XMLHttpRequest -> m ()
XMLHttpRequest
self
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"getAllResponseHeaders" ()))
overrideMimeType ::
(MonadDOM m, ToJSString mime) => XMLHttpRequest -> mime -> m ()
overrideMimeType :: XMLHttpRequest -> mime -> m ()
overrideMimeType XMLHttpRequest
self mime
mime
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"overrideMimeType" [mime -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal mime
mime]))
pattern $bUNSENT :: a
$mUNSENT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
UNSENT = 0
pattern $bOPENED :: a
$mOPENED :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
OPENED = 1
pattern = 2
pattern $bLOADING :: a
$mLOADING :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
LOADING = 3
pattern $bDONE :: a
$mDONE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
DONE = 4
readyStateChange :: EventName XMLHttpRequest Event
readyStateChange :: EventName XMLHttpRequest Event
readyStateChange
= DOMString -> EventName XMLHttpRequest Event
forall t e. DOMString -> EventName t e
unsafeEventNameAsync ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"readystatechange")
getReadyState :: (MonadDOM m) => XMLHttpRequest -> m Word
getReadyState :: XMLHttpRequest -> m Word
getReadyState XMLHttpRequest
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"readyState") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setTimeout :: (MonadDOM m) => XMLHttpRequest -> Word -> m ()
setTimeout :: XMLHttpRequest -> Word -> m ()
setTimeout XMLHttpRequest
self Word
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (XMLHttpRequest
self XMLHttpRequest
-> Getting (DOM ()) XMLHttpRequest (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"timeout" (Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
val))
getTimeout :: (MonadDOM m) => XMLHttpRequest -> m Word
getTimeout :: XMLHttpRequest -> m Word
getTimeout XMLHttpRequest
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"timeout") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setWithCredentials ::
(MonadDOM m) => XMLHttpRequest -> Bool -> m ()
setWithCredentials :: XMLHttpRequest -> Bool -> m ()
setWithCredentials XMLHttpRequest
self Bool
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (XMLHttpRequest
self XMLHttpRequest
-> Getting (DOM ()) XMLHttpRequest (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"withCredentials" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))
getWithCredentials :: (MonadDOM m) => XMLHttpRequest -> m Bool
getWithCredentials :: XMLHttpRequest -> m Bool
getWithCredentials XMLHttpRequest
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"withCredentials") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
getUpload ::
(MonadDOM m) => XMLHttpRequest -> m XMLHttpRequestUpload
getUpload :: XMLHttpRequest -> m XMLHttpRequestUpload
getUpload XMLHttpRequest
self
= DOM XMLHttpRequestUpload -> m XMLHttpRequestUpload
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"upload") JSM JSVal
-> (JSVal -> DOM XMLHttpRequestUpload) -> DOM XMLHttpRequestUpload
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM XMLHttpRequestUpload
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getResponseURL ::
(MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getResponseURL :: XMLHttpRequest -> m result
getResponseURL XMLHttpRequest
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"responseURL") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getStatus :: (MonadDOM m) => XMLHttpRequest -> m Word
getStatus :: XMLHttpRequest -> m Word
getStatus XMLHttpRequest
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"status") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getStatusText ::
(MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getStatusText :: XMLHttpRequest -> m result
getStatusText XMLHttpRequest
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"statusText") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
setResponseType ::
(MonadDOM m) =>
XMLHttpRequest -> XMLHttpRequestResponseType -> m ()
setResponseType :: XMLHttpRequest -> XMLHttpRequestResponseType -> m ()
setResponseType XMLHttpRequest
self XMLHttpRequestResponseType
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (XMLHttpRequest
self XMLHttpRequest
-> Getting (DOM ()) XMLHttpRequest (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"responseType" (XMLHttpRequestResponseType -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal XMLHttpRequestResponseType
val))
getResponseType ::
(MonadDOM m) => XMLHttpRequest -> m XMLHttpRequestResponseType
getResponseType :: XMLHttpRequest -> m XMLHttpRequestResponseType
getResponseType XMLHttpRequest
self
= DOM XMLHttpRequestResponseType -> m XMLHttpRequestResponseType
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"responseType") JSM JSVal
-> (JSVal -> DOM XMLHttpRequestResponseType)
-> DOM XMLHttpRequestResponseType
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM XMLHttpRequestResponseType
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getResponse :: (MonadDOM m) => XMLHttpRequest -> m JSVal
getResponse :: XMLHttpRequest -> m JSVal
getResponse XMLHttpRequest
self = JSM JSVal -> m JSVal
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"response") JSM JSVal -> (JSVal -> JSM JSVal) -> JSM JSVal
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal)
getResponseText ::
(MonadDOM m, FromJSString result) =>
XMLHttpRequest -> m (Maybe result)
getResponseText :: XMLHttpRequest -> m (Maybe result)
getResponseText XMLHttpRequest
self
= DOM (Maybe result) -> m (Maybe result)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"responseText") JSM JSVal -> (JSVal -> DOM (Maybe result)) -> DOM (Maybe result)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString)
getResponseTextUnsafe ::
(MonadDOM m, HasCallStack, FromJSString result) =>
XMLHttpRequest -> m result
getResponseTextUnsafe :: XMLHttpRequest -> m result
getResponseTextUnsafe XMLHttpRequest
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"responseText") JSM JSVal -> (JSVal -> JSM (Maybe result)) -> JSM (Maybe result)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM (Maybe result)
forall a. FromJSString a => JSVal -> JSM (Maybe a)
fromMaybeJSString) JSM (Maybe result) -> (Maybe result -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM result -> (result -> DOM result) -> Maybe result -> DOM result
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM result
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") result -> DOM result
forall (m :: * -> *) a. Monad m => a -> m a
return)
getResponseTextUnchecked ::
(MonadDOM m, FromJSString result) => XMLHttpRequest -> m result
getResponseTextUnchecked :: XMLHttpRequest -> m result
getResponseTextUnchecked XMLHttpRequest
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"responseText") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getResponseXML ::
(MonadDOM m) => XMLHttpRequest -> m (Maybe Document)
getResponseXML :: XMLHttpRequest -> m (Maybe Document)
getResponseXML XMLHttpRequest
self
= DOM (Maybe Document) -> m (Maybe Document)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"responseXML") JSM JSVal
-> (JSVal -> DOM (Maybe Document)) -> DOM (Maybe Document)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Document)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getResponseXMLUnsafe ::
(MonadDOM m, HasCallStack) => XMLHttpRequest -> m Document
getResponseXMLUnsafe :: XMLHttpRequest -> m Document
getResponseXMLUnsafe XMLHttpRequest
self
= DOM Document -> m Document
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"responseXML") JSM JSVal
-> (JSVal -> DOM (Maybe Document)) -> DOM (Maybe Document)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe Document)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Document)
-> (Maybe Document -> DOM Document) -> DOM Document
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Document
-> (Document -> DOM Document) -> Maybe Document -> DOM Document
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM Document
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") Document -> DOM Document
forall (m :: * -> *) a. Monad m => a -> m a
return)
getResponseXMLUnchecked ::
(MonadDOM m) => XMLHttpRequest -> m Document
getResponseXMLUnchecked :: XMLHttpRequest -> m Document
getResponseXMLUnchecked XMLHttpRequest
self
= DOM Document -> m Document
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((XMLHttpRequest
self XMLHttpRequest
-> Getting (JSM JSVal) XMLHttpRequest (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter XMLHttpRequest (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"responseXML") JSM JSVal -> (JSVal -> DOM Document) -> DOM Document
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Document
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)