packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from service-workers (webref). Do not edit.
module JSDOM.Generated.WindowClient
       (focus, focus_, navigate, navigate_, navigateUnsafe, navigateUnchecked, getVisibilityState, getFocused, WindowClient(..), gTypeWindowClient)
       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://developer.mozilla.org/docs/Web/API/WindowClient/focus MDN WindowClient.focus documentation>
focus :: (MonadDOM m) => WindowClient -> m WindowClient
focus self = liftDOM (((((self ^. jsf "focus" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WindowClient/focus MDN WindowClient.focus documentation>
focus_ :: (MonadDOM m) => WindowClient -> m ()
focus_ self = liftDOM (void (((self ^. jsf "focus" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WindowClient/navigate MDN WindowClient.navigate documentation>
navigate :: (MonadDOM m, ToJSString url) => WindowClient -> url -> m (Maybe WindowClient)
navigate self url = liftDOM (((((self ^. jsf "navigate" [toJSVal url]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WindowClient/navigate MDN WindowClient.navigate documentation>
navigate_ :: (MonadDOM m, ToJSString url) => WindowClient -> url -> m ()
navigate_ self url = liftDOM (void (((self ^. jsf "navigate" [toJSVal url]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WindowClient/navigate MDN WindowClient.navigate documentation>
navigateUnsafe :: (MonadDOM m, ToJSString url, HasCallStack) => WindowClient -> url -> m WindowClient
navigateUnsafe self url = liftDOM ((((((self ^. jsf "navigate" [toJSVal url]) >>= readPromise)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/WindowClient/navigate MDN WindowClient.navigate documentation>
navigateUnchecked :: (MonadDOM m, ToJSString url) => WindowClient -> url -> m WindowClient
navigateUnchecked self url = liftDOM (((((self ^. jsf "navigate" [toJSVal url]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WindowClient/visibilityState MDN WindowClient.visibilityState documentation>
getVisibilityState :: (MonadDOM m) => WindowClient -> m DocumentVisibilityState
getVisibilityState self = liftDOM (((self ^. js "visibilityState") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WindowClient/focused MDN WindowClient.focused documentation>
getFocused :: (MonadDOM m) => WindowClient -> m Bool
getFocused self = liftDOM (((self ^. js "focused") >>= valToBool))