ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/WindowOrWorkerGlobalScope.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.WindowOrWorkerGlobalScope
(js_atob, js_btoa, js_clearInterval, js_clearTimeout, js_fetch, js_setInterval, js_setTimeout, js_getOrigin, js_getIndexedDB, atob, atob_, btoa, btoa_, clearInterval, clearTimeout, fetch, fetch_, setInterval, setInterval_, setTimeout, setTimeout_, getOrigin, getIndexedDB, WindowOrWorkerGlobalScope(..), gTypeWindowOrWorkerGlobalScope, IsWindowOrWorkerGlobalScope, toWindowOrWorkerGlobalScope)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript safe "(($1, $2) => { return $1[\"atob\"]($2); })"
js_atob :: WindowOrWorkerGlobalScope -> JSString -> IO JSString
-- | <https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob WindowOrWorkerGlobalScope.atob specification>
atob :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, ToJSString data', FromJSString result) => self -> data' -> m result
atob self data' = liftDOM ((fromJSString <$> (js_atob ((Types.toWindowOrWorkerGlobalScope self)) (toJSString data'))))
-- | <https://html.spec.whatwg.org/multipage/webappapis.html#dom-atob WindowOrWorkerGlobalScope.atob specification>
atob_ :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, ToJSString data') => self -> data' -> m ()
atob_ self data' = liftDOM (void ((js_atob ((Types.toWindowOrWorkerGlobalScope self)) (toJSString data'))))
foreign import javascript safe "(($1, $2) => { return $1[\"btoa\"]($2); })"
js_btoa :: WindowOrWorkerGlobalScope -> JSString -> IO JSString
-- | <https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa WindowOrWorkerGlobalScope.btoa specification>
btoa :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, ToJSString data', FromJSString result) => self -> data' -> m result
btoa self data' = liftDOM ((fromJSString <$> (js_btoa ((Types.toWindowOrWorkerGlobalScope self)) (toJSString data'))))
-- | <https://html.spec.whatwg.org/multipage/webappapis.html#dom-btoa WindowOrWorkerGlobalScope.btoa specification>
btoa_ :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, ToJSString data') => self -> data' -> m ()
btoa_ self data' = liftDOM (void ((js_btoa ((Types.toWindowOrWorkerGlobalScope self)) (toJSString data'))))
foreign import javascript safe "(($1, $2) => { return $1[\"clearInterval\"]($2); })"
js_clearInterval :: WindowOrWorkerGlobalScope -> JSVal -> IO ()
-- | <https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-clearinterval WindowOrWorkerGlobalScope.clearInterval specification>
clearInterval :: (MonadDOM m, IsWindowOrWorkerGlobalScope self) => self -> Maybe Int -> m ()
clearInterval self id = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal id) >>= \a2' -> js_clearInterval ((Types.toWindowOrWorkerGlobalScope self)) a2')))
foreign import javascript safe "(($1, $2) => { return $1[\"clearTimeout\"]($2); })"
js_clearTimeout :: WindowOrWorkerGlobalScope -> JSVal -> IO ()
-- | <https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-cleartimeout WindowOrWorkerGlobalScope.clearTimeout specification>
clearTimeout :: (MonadDOM m, IsWindowOrWorkerGlobalScope self) => self -> Maybe Int -> m ()
clearTimeout self id = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal id) >>= \a2' -> js_clearTimeout ((Types.toWindowOrWorkerGlobalScope self)) a2')))
foreign import javascript interruptible "(($1, $2, $3, $c) => { return $1[\"fetch\"]($2, $3).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_fetch :: WindowOrWorkerGlobalScope -> RequestInfo -> JSVal -> IO (JSVal, Response)
-- | <https://fetch.spec.whatwg.org/#dom-global-fetch WindowOrWorkerGlobalScope.fetch specification>
fetch :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, IsRequestInfo input) => self -> input -> Maybe RequestInit -> m Response
fetch self input init = liftDOM ((((P.maybe (P.return jsUndefined) toJSVal init) >>= \a3' -> js_fetch ((Types.toWindowOrWorkerGlobalScope self)) (Types.toRequestInfo input) a3') >>= checkPromiseResult))
-- | <https://fetch.spec.whatwg.org/#dom-global-fetch WindowOrWorkerGlobalScope.fetch specification>
fetch_ :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, IsRequestInfo input) => self -> input -> Maybe RequestInit -> m ()
fetch_ self input init = liftDOM (void ((((P.maybe (P.return jsUndefined) toJSVal init) >>= \a3' -> js_fetch ((Types.toWindowOrWorkerGlobalScope self)) (Types.toRequestInfo input) a3') >>= checkPromiseResult)))
foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"setInterval\"]($2, $3, ...$4); })"
js_setInterval :: WindowOrWorkerGlobalScope -> TimerHandler -> JSVal -> JSVal -> IO Int
-- | <https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval WindowOrWorkerGlobalScope.setInterval specification>
setInterval :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, IsTimerHandler handler) => self -> handler -> Maybe Int -> [JSVal] -> m Int
setInterval self handler timeout arguments = liftDOM (((P.maybe (P.return jsUndefined) toJSVal timeout) >>= \a3' -> (toJSVal arguments) >>= \a4' -> js_setInterval ((Types.toWindowOrWorkerGlobalScope self)) (Types.toTimerHandler handler) a3' a4'))
-- | <https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval WindowOrWorkerGlobalScope.setInterval specification>
setInterval_ :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, IsTimerHandler handler) => self -> handler -> Maybe Int -> [JSVal] -> m ()
setInterval_ self handler timeout arguments = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal timeout) >>= \a3' -> (toJSVal arguments) >>= \a4' -> js_setInterval ((Types.toWindowOrWorkerGlobalScope self)) (Types.toTimerHandler handler) a3' a4')))
foreign import javascript safe "(($1, $2, $3, $4) => { return $1[\"setTimeout\"]($2, $3, ...$4); })"
js_setTimeout :: WindowOrWorkerGlobalScope -> TimerHandler -> JSVal -> JSVal -> IO Int
-- | <https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout WindowOrWorkerGlobalScope.setTimeout specification>
setTimeout :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, IsTimerHandler handler) => self -> handler -> Maybe Int -> [JSVal] -> m Int
setTimeout self handler timeout arguments = liftDOM (((P.maybe (P.return jsUndefined) toJSVal timeout) >>= \a3' -> (toJSVal arguments) >>= \a4' -> js_setTimeout ((Types.toWindowOrWorkerGlobalScope self)) (Types.toTimerHandler handler) a3' a4'))
-- | <https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout WindowOrWorkerGlobalScope.setTimeout specification>
setTimeout_ :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, IsTimerHandler handler) => self -> handler -> Maybe Int -> [JSVal] -> m ()
setTimeout_ self handler timeout arguments = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal timeout) >>= \a3' -> (toJSVal arguments) >>= \a4' -> js_setTimeout ((Types.toWindowOrWorkerGlobalScope self)) (Types.toTimerHandler handler) a3' a4')))
foreign import javascript unsafe "(($1) => { return $1[\"origin\"]; })"
js_getOrigin :: WindowOrWorkerGlobalScope -> IO JSString
-- | <https://html.spec.whatwg.org/multipage/webappapis.html#dom-origin WindowOrWorkerGlobalScope.origin specification>
getOrigin :: (MonadDOM m, IsWindowOrWorkerGlobalScope self, FromJSString result) => self -> m result
getOrigin self = liftDOM ((fromJSString <$> (js_getOrigin ((Types.toWindowOrWorkerGlobalScope self)))))
foreign import javascript unsafe "(($1) => { return $1[\"indexedDB\"]; })"
js_getIndexedDB :: WindowOrWorkerGlobalScope -> IO IDBFactory
-- | <https://w3c.github.io/IndexedDB/#dom-windoworworkerglobalscope-indexeddb WindowOrWorkerGlobalScope.indexedDB specification>
getIndexedDB :: (MonadDOM m, IsWindowOrWorkerGlobalScope self) => self -> m IDBFactory
getIndexedDB self = liftDOM ((js_getIndexedDB ((Types.toWindowOrWorkerGlobalScope self))))