packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/OpusEncoderConfig.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webcodecs-opus-codec-registration (webref). Do not edit.
module JSDOM.Generated.OpusEncoderConfig
       (newOpusEncoderConfig, setFormat, getFormat, getFormatUnsafe, getFormatUnchecked, setSignal, getSignal, getSignalUnsafe, getSignalUnchecked, setApplication, getApplication, getApplicationUnsafe, getApplicationUnchecked, setFrameDuration, getFrameDuration, getFrameDurationUnsafe, getFrameDurationUnchecked, setComplexity, getComplexity, getComplexityUnsafe, getComplexityUnchecked, setPacketlossperc, getPacketlossperc, getPacketlosspercUnsafe, getPacketlosspercUnchecked, setUseinbandfec, getUseinbandfec, getUseinbandfecUnsafe, getUseinbandfecUnchecked, setUsedtx, getUsedtx, getUsedtxUnsafe, getUsedtxUnchecked, OpusEncoderConfig(..), gTypeOpusEncoderConfig)
       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/webcodecs/opus_codec_registration.html#dictdef-opusencoderconfig OpusEncoderConfig specification>
newOpusEncoderConfig :: (MonadDOM m) => m OpusEncoderConfig
newOpusEncoderConfig = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-format OpusEncoderConfig.format specification>
setFormat :: (MonadDOM m) => OpusEncoderConfig -> OpusBitstreamFormat -> m ()
setFormat self val = liftDOM (void (self ^. jss "format" (toJSVal val)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-format OpusEncoderConfig.format specification>
getFormat :: (MonadDOM m) => OpusEncoderConfig -> m (Maybe OpusBitstreamFormat)
getFormat self = liftDOM (((self ^. js "format") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-format OpusEncoderConfig.format specification>
getFormatUnsafe :: (MonadDOM m, HasCallStack) => OpusEncoderConfig -> m OpusBitstreamFormat
getFormatUnsafe self = liftDOM ((((self ^. js "format") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-format OpusEncoderConfig.format specification>
getFormatUnchecked :: (MonadDOM m) => OpusEncoderConfig -> m OpusBitstreamFormat
getFormatUnchecked self = liftDOM (((self ^. js "format") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-signal OpusEncoderConfig.signal specification>
setSignal :: (MonadDOM m) => OpusEncoderConfig -> OpusSignal -> m ()
setSignal self val = liftDOM (void (self ^. jss "signal" (toJSVal val)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-signal OpusEncoderConfig.signal specification>
getSignal :: (MonadDOM m) => OpusEncoderConfig -> m (Maybe OpusSignal)
getSignal self = liftDOM (((self ^. js "signal") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-signal OpusEncoderConfig.signal specification>
getSignalUnsafe :: (MonadDOM m, HasCallStack) => OpusEncoderConfig -> m OpusSignal
getSignalUnsafe self = liftDOM ((((self ^. js "signal") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-signal OpusEncoderConfig.signal specification>
getSignalUnchecked :: (MonadDOM m) => OpusEncoderConfig -> m OpusSignal
getSignalUnchecked self = liftDOM (((self ^. js "signal") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-application OpusEncoderConfig.application specification>
setApplication :: (MonadDOM m) => OpusEncoderConfig -> OpusApplication -> m ()
setApplication self val = liftDOM (void (self ^. jss "application" (toJSVal val)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-application OpusEncoderConfig.application specification>
getApplication :: (MonadDOM m) => OpusEncoderConfig -> m (Maybe OpusApplication)
getApplication self = liftDOM (((self ^. js "application") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-application OpusEncoderConfig.application specification>
getApplicationUnsafe :: (MonadDOM m, HasCallStack) => OpusEncoderConfig -> m OpusApplication
getApplicationUnsafe self = liftDOM ((((self ^. js "application") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-application OpusEncoderConfig.application specification>
getApplicationUnchecked :: (MonadDOM m) => OpusEncoderConfig -> m OpusApplication
getApplicationUnchecked self = liftDOM (((self ^. js "application") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-frameduration OpusEncoderConfig.frameDuration specification>
setFrameDuration :: (MonadDOM m) => OpusEncoderConfig -> Word53 -> m ()
setFrameDuration self val = liftDOM (void (self ^. jss "frameDuration" (toJSVal val)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-frameduration OpusEncoderConfig.frameDuration specification>
getFrameDuration :: (MonadDOM m) => OpusEncoderConfig -> m (Maybe Word53)
getFrameDuration self = liftDOM (((self ^. js "frameDuration") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-frameduration OpusEncoderConfig.frameDuration specification>
getFrameDurationUnsafe :: (MonadDOM m, HasCallStack) => OpusEncoderConfig -> m Word53
getFrameDurationUnsafe self = liftDOM ((((self ^. js "frameDuration") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-frameduration OpusEncoderConfig.frameDuration specification>
getFrameDurationUnchecked :: (MonadDOM m) => OpusEncoderConfig -> m Word53
getFrameDurationUnchecked self = liftDOM (((self ^. js "frameDuration") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-complexity OpusEncoderConfig.complexity specification>
setComplexity :: (MonadDOM m) => OpusEncoderConfig -> Word -> m ()
setComplexity self val = liftDOM (void (self ^. jss "complexity" (toJSVal val)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-complexity OpusEncoderConfig.complexity specification>
getComplexity :: (MonadDOM m) => OpusEncoderConfig -> m (Maybe Word)
getComplexity self = liftDOM (((self ^. js "complexity") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-complexity OpusEncoderConfig.complexity specification>
getComplexityUnsafe :: (MonadDOM m, HasCallStack) => OpusEncoderConfig -> m Word
getComplexityUnsafe self = liftDOM ((((self ^. js "complexity") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-complexity OpusEncoderConfig.complexity specification>
getComplexityUnchecked :: (MonadDOM m) => OpusEncoderConfig -> m Word
getComplexityUnchecked self = liftDOM ((P.round <$> ((self ^. js "complexity") >>= valToNumber)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-packetlossperc OpusEncoderConfig.packetlossperc specification>
setPacketlossperc :: (MonadDOM m) => OpusEncoderConfig -> Word -> m ()
setPacketlossperc self val = liftDOM (void (self ^. jss "packetlossperc" (toJSVal val)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-packetlossperc OpusEncoderConfig.packetlossperc specification>
getPacketlossperc :: (MonadDOM m) => OpusEncoderConfig -> m (Maybe Word)
getPacketlossperc self = liftDOM (((self ^. js "packetlossperc") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-packetlossperc OpusEncoderConfig.packetlossperc specification>
getPacketlosspercUnsafe :: (MonadDOM m, HasCallStack) => OpusEncoderConfig -> m Word
getPacketlosspercUnsafe self = liftDOM ((((self ^. js "packetlossperc") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-packetlossperc OpusEncoderConfig.packetlossperc specification>
getPacketlosspercUnchecked :: (MonadDOM m) => OpusEncoderConfig -> m Word
getPacketlosspercUnchecked self = liftDOM ((P.round <$> ((self ^. js "packetlossperc") >>= valToNumber)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-useinbandfec OpusEncoderConfig.useinbandfec specification>
setUseinbandfec :: (MonadDOM m) => OpusEncoderConfig -> Bool -> m ()
setUseinbandfec self val = liftDOM (void (self ^. jss "useinbandfec" (toJSVal val)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-useinbandfec OpusEncoderConfig.useinbandfec specification>
getUseinbandfec :: (MonadDOM m) => OpusEncoderConfig -> m (Maybe Bool)
getUseinbandfec self = liftDOM (((self ^. js "useinbandfec") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-useinbandfec OpusEncoderConfig.useinbandfec specification>
getUseinbandfecUnsafe :: (MonadDOM m, HasCallStack) => OpusEncoderConfig -> m Bool
getUseinbandfecUnsafe self = liftDOM ((((self ^. js "useinbandfec") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-useinbandfec OpusEncoderConfig.useinbandfec specification>
getUseinbandfecUnchecked :: (MonadDOM m) => OpusEncoderConfig -> m Bool
getUseinbandfecUnchecked self = liftDOM (((self ^. js "useinbandfec") >>= valToBool))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-usedtx OpusEncoderConfig.usedtx specification>
setUsedtx :: (MonadDOM m) => OpusEncoderConfig -> Bool -> m ()
setUsedtx self val = liftDOM (void (self ^. jss "usedtx" (toJSVal val)))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-usedtx OpusEncoderConfig.usedtx specification>
getUsedtx :: (MonadDOM m) => OpusEncoderConfig -> m (Maybe Bool)
getUsedtx self = liftDOM (((self ^. js "usedtx") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-usedtx OpusEncoderConfig.usedtx specification>
getUsedtxUnsafe :: (MonadDOM m, HasCallStack) => OpusEncoderConfig -> m Bool
getUsedtxUnsafe self = liftDOM ((((self ^. js "usedtx") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webcodecs/opus_codec_registration.html#dom-opusencoderconfig-usedtx OpusEncoderConfig.usedtx specification>
getUsedtxUnchecked :: (MonadDOM m) => OpusEncoderConfig -> m Bool
getUsedtxUnchecked self = liftDOM (((self ^. js "usedtx") >>= valToBool))