jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaSession.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediasession (webref). Do not edit.
module JSDOM.Generated.MediaSession
(setActionHandler, setCameraActive, setMicrophoneActive, setPositionState, setMetadata, getMetadata, getMetadataUnsafe, getMetadataUnchecked, setPlaybackState, getPlaybackState, MediaSession(..), gTypeMediaSession)
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/MediaSession/setActionHandler MDN MediaSession.setActionHandler documentation>
setActionHandler :: (MonadDOM m) => MediaSession -> MediaSessionAction -> Maybe MediaSessionActionHandler -> m ()
setActionHandler self action handler = liftDOM (void (self ^. jsf "setActionHandler" [toJSVal action, toJSVal handler]))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/setCameraActive MDN MediaSession.setCameraActive documentation>
setCameraActive :: (MonadDOM m) => MediaSession -> Bool -> m ()
setCameraActive self active = liftDOM (void (((self ^. jsf "setCameraActive" [toJSVal active]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/setMicrophoneActive MDN MediaSession.setMicrophoneActive documentation>
setMicrophoneActive :: (MonadDOM m) => MediaSession -> Bool -> m ()
setMicrophoneActive self active = liftDOM (void (((self ^. jsf "setMicrophoneActive" [toJSVal active]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/setPositionState MDN MediaSession.setPositionState documentation>
setPositionState :: (MonadDOM m) => MediaSession -> Maybe MediaPositionState -> m ()
setPositionState self state = liftDOM (void (self ^. jsf "setPositionState" [P.maybe (P.return jsUndefined) toJSVal state]))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/metadata MDN MediaSession.metadata documentation>
setMetadata :: (MonadDOM m) => MediaSession -> Maybe MediaMetadata -> m ()
setMetadata self val = liftDOM (void (self ^. jss "metadata" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/metadata MDN MediaSession.metadata documentation>
getMetadata :: (MonadDOM m) => MediaSession -> m (Maybe MediaMetadata)
getMetadata self = liftDOM (((self ^. js "metadata") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/metadata MDN MediaSession.metadata documentation>
getMetadataUnsafe :: (MonadDOM m, HasCallStack) => MediaSession -> m MediaMetadata
getMetadataUnsafe self = liftDOM ((((self ^. js "metadata") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/metadata MDN MediaSession.metadata documentation>
getMetadataUnchecked :: (MonadDOM m) => MediaSession -> m MediaMetadata
getMetadataUnchecked self = liftDOM (((self ^. js "metadata") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/playbackState MDN MediaSession.playbackState documentation>
setPlaybackState :: (MonadDOM m) => MediaSession -> MediaSessionPlaybackState -> m ()
setPlaybackState self val = liftDOM (void (self ^. jss "playbackState" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSession/playbackState MDN MediaSession.playbackState documentation>
getPlaybackState :: (MonadDOM m) => MediaSession -> m MediaSessionPlaybackState
getPlaybackState self = liftDOM (((self ^. js "playbackState") >>= fromJSValUnchecked))