packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/WindowOrWorkerGlobalScope.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.WindowOrWorkerGlobalScope
       (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 Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums

-- | <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 ((((Types.toWindowOrWorkerGlobalScope self) ^. jsf "atob" [toJSVal data']) >>= fromJSValUnchecked))

-- | <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 ((Types.toWindowOrWorkerGlobalScope self) ^. jsf "atob" [toJSVal data']))

-- | <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 ((((Types.toWindowOrWorkerGlobalScope self) ^. jsf "btoa" [toJSVal data']) >>= fromJSValUnchecked))

-- | <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 ((Types.toWindowOrWorkerGlobalScope self) ^. jsf "btoa" [toJSVal data']))

-- | <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 ((Types.toWindowOrWorkerGlobalScope self) ^. jsf "clearInterval" [P.maybe (P.return jsUndefined) toJSVal id]))

-- | <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 ((Types.toWindowOrWorkerGlobalScope self) ^. jsf "clearTimeout" [P.maybe (P.return jsUndefined) toJSVal id]))

-- | <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 ((((((Types.toWindowOrWorkerGlobalScope self) ^. jsf "fetch" [toJSVal input, P.maybe (P.return jsUndefined) toJSVal init]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <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 ((((Types.toWindowOrWorkerGlobalScope self) ^. jsf "fetch" [toJSVal input, P.maybe (P.return jsUndefined) toJSVal init]) >>= readPromise)))

-- | <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.round <$> (((Types.toWindowOrWorkerGlobalScope self) ^. jsf "setInterval" ([toJSVal handler, P.maybe (P.return jsUndefined) toJSVal timeout] ++ P.map toJSVal arguments)) >>= valToNumber)))

-- | <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 ((Types.toWindowOrWorkerGlobalScope self) ^. jsf "setInterval" ([toJSVal handler, P.maybe (P.return jsUndefined) toJSVal timeout] ++ P.map toJSVal arguments)))

-- | <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.round <$> (((Types.toWindowOrWorkerGlobalScope self) ^. jsf "setTimeout" ([toJSVal handler, P.maybe (P.return jsUndefined) toJSVal timeout] ++ P.map toJSVal arguments)) >>= valToNumber)))

-- | <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 ((Types.toWindowOrWorkerGlobalScope self) ^. jsf "setTimeout" ([toJSVal handler, P.maybe (P.return jsUndefined) toJSVal timeout] ++ P.map toJSVal arguments)))

-- | <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 ((((Types.toWindowOrWorkerGlobalScope self) ^. js "origin") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/IndexedDB/#dom-windoworworkerglobalscope-indexeddb WindowOrWorkerGlobalScope.indexedDB specification>
getIndexedDB :: (MonadDOM m, IsWindowOrWorkerGlobalScope self) => self -> m IDBFactory
getIndexedDB self = liftDOM ((((Types.toWindowOrWorkerGlobalScope self) ^. js "indexedDB") >>= fromJSValUnchecked))