jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Navigator.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.Navigator
(canShare, canShare_, getGamepads, getGamepads_, requestMIDIAccess, requestMIDIAccess_, requestMediaKeySystemAccess, requestMediaKeySystemAccess_, sendBeacon, sendBeacon_, share, vibrate, vibrate_, getClipboard, getCredentials, getGeolocation, getUserActivation, getLogin, getMediaCapabilities, getMediaDevices, getMediaSession, getPermissions, getMaxTouchPoints, getWakeLock, getSerial, getServiceWorker, Navigator(..), gTypeNavigator)
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/Navigator/canShare MDN Navigator.canShare documentation>
canShare :: (MonadDOM m) => Navigator -> Maybe ShareData -> m Bool
canShare self data' = liftDOM (((self ^. jsf "canShare" [P.maybe (P.return jsUndefined) toJSVal data']) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/canShare MDN Navigator.canShare documentation>
canShare_ :: (MonadDOM m) => Navigator -> Maybe ShareData -> m ()
canShare_ self data' = liftDOM (void (self ^. jsf "canShare" [P.maybe (P.return jsUndefined) toJSVal data']))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/getGamepads MDN Navigator.getGamepads documentation>
getGamepads :: (MonadDOM m) => Navigator -> m [Maybe Gamepad]
getGamepads self = liftDOM (((self ^. jsf "getGamepads" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/getGamepads MDN Navigator.getGamepads documentation>
getGamepads_ :: (MonadDOM m) => Navigator -> m ()
getGamepads_ self = liftDOM (void (self ^. jsf "getGamepads" ()))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/requestMIDIAccess MDN Navigator.requestMIDIAccess documentation>
requestMIDIAccess :: (MonadDOM m) => Navigator -> Maybe MIDIOptions -> m MIDIAccess
requestMIDIAccess self options = liftDOM (((((self ^. jsf "requestMIDIAccess" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/requestMIDIAccess MDN Navigator.requestMIDIAccess documentation>
requestMIDIAccess_ :: (MonadDOM m) => Navigator -> Maybe MIDIOptions -> m ()
requestMIDIAccess_ self options = liftDOM (void (((self ^. jsf "requestMIDIAccess" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/requestMediaKeySystemAccess MDN Navigator.requestMediaKeySystemAccess documentation>
requestMediaKeySystemAccess :: (MonadDOM m, ToJSString keySystem) => Navigator -> keySystem -> [MediaKeySystemConfiguration] -> m MediaKeySystemAccess
requestMediaKeySystemAccess self keySystem supportedConfigurations = liftDOM (((((self ^. jsf "requestMediaKeySystemAccess" [toJSVal keySystem, toJSVal supportedConfigurations]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/requestMediaKeySystemAccess MDN Navigator.requestMediaKeySystemAccess documentation>
requestMediaKeySystemAccess_ :: (MonadDOM m, ToJSString keySystem) => Navigator -> keySystem -> [MediaKeySystemConfiguration] -> m ()
requestMediaKeySystemAccess_ self keySystem supportedConfigurations = liftDOM (void (((self ^. jsf "requestMediaKeySystemAccess" [toJSVal keySystem, toJSVal supportedConfigurations]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/sendBeacon MDN Navigator.sendBeacon documentation>
sendBeacon :: (MonadDOM m, ToJSString url, IsBodyInit data') => Navigator -> url -> Maybe data' -> m Bool
sendBeacon self url data' = liftDOM (((self ^. jsf "sendBeacon" [toJSVal url, toJSVal data']) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/sendBeacon MDN Navigator.sendBeacon documentation>
sendBeacon_ :: (MonadDOM m, ToJSString url, IsBodyInit data') => Navigator -> url -> Maybe data' -> m ()
sendBeacon_ self url data' = liftDOM (void (self ^. jsf "sendBeacon" [toJSVal url, toJSVal data']))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/share MDN Navigator.share documentation>
share :: (MonadDOM m) => Navigator -> Maybe ShareData -> m ()
share self data' = liftDOM (void (((self ^. jsf "share" [P.maybe (P.return jsUndefined) toJSVal data']) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/vibrate MDN Navigator.vibrate documentation>
vibrate :: (MonadDOM m, IsVibratePattern pattern') => Navigator -> pattern' -> m Bool
vibrate self pattern' = liftDOM (((self ^. jsf "vibrate" [toJSVal pattern']) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/vibrate MDN Navigator.vibrate documentation>
vibrate_ :: (MonadDOM m, IsVibratePattern pattern') => Navigator -> pattern' -> m ()
vibrate_ self pattern' = liftDOM (void (self ^. jsf "vibrate" [toJSVal pattern']))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/clipboard MDN Navigator.clipboard documentation>
getClipboard :: (MonadDOM m) => Navigator -> m Clipboard
getClipboard self = liftDOM (((self ^. js "clipboard") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/credentials MDN Navigator.credentials documentation>
getCredentials :: (MonadDOM m) => Navigator -> m CredentialsContainer
getCredentials self = liftDOM (((self ^. js "credentials") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/geolocation MDN Navigator.geolocation documentation>
getGeolocation :: (MonadDOM m) => Navigator -> m Geolocation
getGeolocation self = liftDOM (((self ^. js "geolocation") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/userActivation MDN Navigator.userActivation documentation>
getUserActivation :: (MonadDOM m) => Navigator -> m UserActivation
getUserActivation self = liftDOM (((self ^. js "userActivation") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/login MDN Navigator.login documentation>
getLogin :: (MonadDOM m) => Navigator -> m NavigatorLogin
getLogin self = liftDOM (((self ^. js "login") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/mediaCapabilities MDN Navigator.mediaCapabilities documentation>
getMediaCapabilities :: (MonadDOM m) => Navigator -> m MediaCapabilities
getMediaCapabilities self = liftDOM (((self ^. js "mediaCapabilities") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/mediaDevices MDN Navigator.mediaDevices documentation>
getMediaDevices :: (MonadDOM m) => Navigator -> m MediaDevices
getMediaDevices self = liftDOM (((self ^. js "mediaDevices") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/mediaSession MDN Navigator.mediaSession documentation>
getMediaSession :: (MonadDOM m) => Navigator -> m MediaSession
getMediaSession self = liftDOM (((self ^. js "mediaSession") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/permissions MDN Navigator.permissions documentation>
getPermissions :: (MonadDOM m) => Navigator -> m Permissions
getPermissions self = liftDOM (((self ^. js "permissions") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/maxTouchPoints MDN Navigator.maxTouchPoints documentation>
getMaxTouchPoints :: (MonadDOM m) => Navigator -> m Int
getMaxTouchPoints self = liftDOM ((P.round <$> ((self ^. js "maxTouchPoints") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/wakeLock MDN Navigator.wakeLock documentation>
getWakeLock :: (MonadDOM m) => Navigator -> m WakeLock
getWakeLock self = liftDOM (((self ^. js "wakeLock") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/serial MDN Navigator.serial documentation>
getSerial :: (MonadDOM m) => Navigator -> m Serial
getSerial self = liftDOM (((self ^. js "serial") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/Navigator/serviceWorker MDN Navigator.serviceWorker documentation>
getServiceWorker :: (MonadDOM m) => Navigator -> m ServiceWorkerContainer
getServiceWorker self = liftDOM (((self ^. js "serviceWorker") >>= fromJSValUnchecked))