jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AudioConfiguration.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.AudioConfiguration
(newAudioConfiguration, setContentType, getContentType, setChannels, getChannels, getChannelsUnsafe, getChannelsUnchecked, setBitrate, getBitrate, getBitrateUnsafe, getBitrateUnchecked, setSamplerate, getSamplerate, getSamplerateUnsafe, getSamplerateUnchecked, setSpatialRendering, getSpatialRendering, getSpatialRenderingUnsafe, getSpatialRenderingUnchecked, AudioConfiguration(..), gTypeAudioConfiguration)
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-audioconfiguration AudioConfiguration specification>
newAudioConfiguration :: (MonadDOM m, ToJSString contentType) => contentType -> m AudioConfiguration
newAudioConfiguration contentType = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "contentType" (toJSVal contentType)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-contenttype AudioConfiguration.contentType specification>
setContentType :: (MonadDOM m, ToJSString val) => AudioConfiguration -> val -> m ()
setContentType self val = liftDOM (void (self ^. jss "contentType" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-contenttype AudioConfiguration.contentType specification>
getContentType :: (MonadDOM m, FromJSString result) => AudioConfiguration -> m result
getContentType self = liftDOM (((self ^. js "contentType") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-channels AudioConfiguration.channels specification>
setChannels :: (MonadDOM m, ToJSString val) => AudioConfiguration -> val -> m ()
setChannels self val = liftDOM (void (self ^. jss "channels" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-channels AudioConfiguration.channels specification>
getChannels :: (MonadDOM m, FromJSString result) => AudioConfiguration -> m (Maybe result)
getChannels self = liftDOM (((self ^. js "channels") >>= fromMaybeJSString))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-channels AudioConfiguration.channels specification>
getChannelsUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => AudioConfiguration -> m result
getChannelsUnsafe self = liftDOM ((((self ^. js "channels") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-channels AudioConfiguration.channels specification>
getChannelsUnchecked :: (MonadDOM m, FromJSString result) => AudioConfiguration -> m result
getChannelsUnchecked self = liftDOM (((self ^. js "channels") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-bitrate AudioConfiguration.bitrate specification>
setBitrate :: (MonadDOM m) => AudioConfiguration -> Word53 -> m ()
setBitrate self val = liftDOM (void (self ^. jss "bitrate" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-bitrate AudioConfiguration.bitrate specification>
getBitrate :: (MonadDOM m) => AudioConfiguration -> m (Maybe Word53)
getBitrate self = liftDOM (((self ^. js "bitrate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-bitrate AudioConfiguration.bitrate specification>
getBitrateUnsafe :: (MonadDOM m, HasCallStack) => AudioConfiguration -> m Word53
getBitrateUnsafe self = liftDOM ((((self ^. js "bitrate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-bitrate AudioConfiguration.bitrate specification>
getBitrateUnchecked :: (MonadDOM m) => AudioConfiguration -> m Word53
getBitrateUnchecked self = liftDOM (((self ^. js "bitrate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-samplerate AudioConfiguration.samplerate specification>
setSamplerate :: (MonadDOM m) => AudioConfiguration -> Word -> m ()
setSamplerate self val = liftDOM (void (self ^. jss "samplerate" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-samplerate AudioConfiguration.samplerate specification>
getSamplerate :: (MonadDOM m) => AudioConfiguration -> m (Maybe Word)
getSamplerate self = liftDOM (((self ^. js "samplerate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-samplerate AudioConfiguration.samplerate specification>
getSamplerateUnsafe :: (MonadDOM m, HasCallStack) => AudioConfiguration -> m Word
getSamplerateUnsafe self = liftDOM ((((self ^. js "samplerate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-samplerate AudioConfiguration.samplerate specification>
getSamplerateUnchecked :: (MonadDOM m) => AudioConfiguration -> m Word
getSamplerateUnchecked self = liftDOM ((P.round <$> ((self ^. js "samplerate") >>= valToNumber)))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-spatialrendering AudioConfiguration.spatialRendering specification>
setSpatialRendering :: (MonadDOM m) => AudioConfiguration -> Bool -> m ()
setSpatialRendering self val = liftDOM (void (self ^. jss "spatialRendering" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-spatialrendering AudioConfiguration.spatialRendering specification>
getSpatialRendering :: (MonadDOM m) => AudioConfiguration -> m (Maybe Bool)
getSpatialRendering self = liftDOM (((self ^. js "spatialRendering") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-spatialrendering AudioConfiguration.spatialRendering specification>
getSpatialRenderingUnsafe :: (MonadDOM m, HasCallStack) => AudioConfiguration -> m Bool
getSpatialRenderingUnsafe self = liftDOM ((((self ^. js "spatialRendering") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/media-capabilities/#dom-audioconfiguration-spatialrendering AudioConfiguration.spatialRendering specification>
getSpatialRenderingUnchecked :: (MonadDOM m) => AudioConfiguration -> m Bool
getSpatialRenderingUnchecked self = liftDOM (((self ^. js "spatialRendering") >>= valToBool))