jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCRtpCodecParameters.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webrtc (webref). Do not edit.
module JSDOM.Generated.RTCRtpCodecParameters
(newRTCRtpCodecParameters, setPayloadType, getPayloadType, RTCRtpCodecParameters(..), gTypeRTCRtpCodecParameters)
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/webrtc-pc/#dom-rtcrtpcodecparameters RTCRtpCodecParameters specification>
newRTCRtpCodecParameters :: (MonadDOM m, ToJSString mimeType) => mimeType -> Word -> Word -> m RTCRtpCodecParameters
newRTCRtpCodecParameters mimeType clockRate payloadType = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "mimeType" (toJSVal mimeType)) P.>> (o ^. jss "clockRate" (toJSVal clockRate)) P.>> (o ^. jss "payloadType" (toJSVal payloadType)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpcodecparameters-payloadtype RTCRtpCodecParameters.payloadType specification>
setPayloadType :: (MonadDOM m) => RTCRtpCodecParameters -> Word -> m ()
setPayloadType self val = liftDOM (void (self ^. jss "payloadType" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpcodecparameters-payloadtype RTCRtpCodecParameters.payloadType specification>
getPayloadType :: (MonadDOM m) => RTCRtpCodecParameters -> m Word
getPayloadType self = liftDOM ((P.round <$> ((self ^. js "payloadType") >>= valToNumber)))