jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaPositionState.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.MediaPositionState
(newMediaPositionState, setDuration, getDuration, getDurationUnsafe, getDurationUnchecked, setPlaybackRate, getPlaybackRate, getPlaybackRateUnsafe, getPlaybackRateUnchecked, setPosition, getPosition, getPositionUnsafe, getPositionUnchecked, MediaPositionState(..), gTypeMediaPositionState)
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://w3c.github.io/mediasession/#dictdef-mediapositionstate MediaPositionState specification>
newMediaPositionState :: (MonadDOM m) => m MediaPositionState
newMediaPositionState = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-duration MediaPositionState.duration specification>
setDuration :: (MonadDOM m) => MediaPositionState -> Double -> m ()
setDuration self val = liftDOM (void (self ^. jss "duration" (toJSVal val)))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-duration MediaPositionState.duration specification>
getDuration :: (MonadDOM m) => MediaPositionState -> m (Maybe Double)
getDuration self = liftDOM (((self ^. js "duration") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-duration MediaPositionState.duration specification>
getDurationUnsafe :: (MonadDOM m, HasCallStack) => MediaPositionState -> m Double
getDurationUnsafe self = liftDOM ((((self ^. js "duration") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-duration MediaPositionState.duration specification>
getDurationUnchecked :: (MonadDOM m) => MediaPositionState -> m Double
getDurationUnchecked self = liftDOM (((self ^. js "duration") >>= valToNumber))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-playbackrate MediaPositionState.playbackRate specification>
setPlaybackRate :: (MonadDOM m) => MediaPositionState -> Double -> m ()
setPlaybackRate self val = liftDOM (void (self ^. jss "playbackRate" (toJSVal val)))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-playbackrate MediaPositionState.playbackRate specification>
getPlaybackRate :: (MonadDOM m) => MediaPositionState -> m (Maybe Double)
getPlaybackRate self = liftDOM (((self ^. js "playbackRate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-playbackrate MediaPositionState.playbackRate specification>
getPlaybackRateUnsafe :: (MonadDOM m, HasCallStack) => MediaPositionState -> m Double
getPlaybackRateUnsafe self = liftDOM ((((self ^. js "playbackRate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-playbackrate MediaPositionState.playbackRate specification>
getPlaybackRateUnchecked :: (MonadDOM m) => MediaPositionState -> m Double
getPlaybackRateUnchecked self = liftDOM (((self ^. js "playbackRate") >>= valToNumber))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-position MediaPositionState.position specification>
setPosition :: (MonadDOM m) => MediaPositionState -> Double -> m ()
setPosition self val = liftDOM (void (self ^. jss "position" (toJSVal val)))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-position MediaPositionState.position specification>
getPosition :: (MonadDOM m) => MediaPositionState -> m (Maybe Double)
getPosition self = liftDOM (((self ^. js "position") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-position MediaPositionState.position specification>
getPositionUnsafe :: (MonadDOM m, HasCallStack) => MediaPositionState -> m Double
getPositionUnsafe self = liftDOM ((((self ^. js "position") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediasession/#dom-mediapositionstate-position MediaPositionState.position specification>
getPositionUnchecked :: (MonadDOM m) => MediaPositionState -> m Double
getPositionUnchecked self = liftDOM (((self ^. js "position") >>= valToNumber))