jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaConfiguration.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from media-capabilities (webref). Do not edit.
module JSDOM.Generated.MediaConfiguration
(newMediaConfiguration, setVideo, getVideo, getVideoUnsafe, getVideoUnchecked, setAudio, getAudio, getAudioUnsafe, getAudioUnchecked, MediaConfiguration(..), gTypeMediaConfiguration, IsMediaConfiguration, toMediaConfiguration)
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/media-capabilities/#dictdef-mediaconfiguration MediaConfiguration specification>
newMediaConfiguration :: (MonadDOM m) => m MediaConfiguration
newMediaConfiguration = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-mediaconfiguration-video MediaConfiguration.video specification>
setVideo :: (MonadDOM m, IsMediaConfiguration self) => self -> VideoConfiguration -> m ()
setVideo self val = liftDOM (void ((Types.toMediaConfiguration self) ^. jss "video" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-mediaconfiguration-video MediaConfiguration.video specification>
getVideo :: (MonadDOM m, IsMediaConfiguration self) => self -> m (Maybe VideoConfiguration)
getVideo self = liftDOM ((((Types.toMediaConfiguration self) ^. js "video") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-mediaconfiguration-video MediaConfiguration.video specification>
getVideoUnsafe :: (MonadDOM m, IsMediaConfiguration self, HasCallStack) => self -> m VideoConfiguration
getVideoUnsafe self = liftDOM (((((Types.toMediaConfiguration self) ^. js "video") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/media-capabilities/#dom-mediaconfiguration-video MediaConfiguration.video specification>
getVideoUnchecked :: (MonadDOM m, IsMediaConfiguration self) => self -> m VideoConfiguration
getVideoUnchecked self = liftDOM ((((Types.toMediaConfiguration self) ^. js "video") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-mediaconfiguration-audio MediaConfiguration.audio specification>
setAudio :: (MonadDOM m, IsMediaConfiguration self) => self -> AudioConfiguration -> m ()
setAudio self val = liftDOM (void ((Types.toMediaConfiguration self) ^. jss "audio" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-mediaconfiguration-audio MediaConfiguration.audio specification>
getAudio :: (MonadDOM m, IsMediaConfiguration self) => self -> m (Maybe AudioConfiguration)
getAudio self = liftDOM ((((Types.toMediaConfiguration self) ^. js "audio") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-mediaconfiguration-audio MediaConfiguration.audio specification>
getAudioUnsafe :: (MonadDOM m, IsMediaConfiguration self, HasCallStack) => self -> m AudioConfiguration
getAudioUnsafe self = liftDOM (((((Types.toMediaConfiguration self) ^. js "audio") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/media-capabilities/#dom-mediaconfiguration-audio MediaConfiguration.audio specification>
getAudioUnchecked :: (MonadDOM m, IsMediaConfiguration self) => self -> m AudioConfiguration
getAudioUnchecked self = liftDOM ((((Types.toMediaConfiguration self) ^. js "audio") >>= fromJSValUnchecked))