jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCRtpHeaderExtensionParameters.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.RTCRtpHeaderExtensionParameters
(newRTCRtpHeaderExtensionParameters, setUri, getUri, setId, getId, setEncrypted, getEncrypted, getEncryptedUnsafe, getEncryptedUnchecked, RTCRtpHeaderExtensionParameters(..), gTypeRTCRtpHeaderExtensionParameters)
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-rtcrtpheaderextensionparameters RTCRtpHeaderExtensionParameters specification>
newRTCRtpHeaderExtensionParameters :: (MonadDOM m, ToJSString uri) => uri -> Word -> m RTCRtpHeaderExtensionParameters
newRTCRtpHeaderExtensionParameters uri id = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "uri" (toJSVal uri)) P.>> (o ^. jss "id" (toJSVal id)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpheaderextensionparameters-uri RTCRtpHeaderExtensionParameters.uri specification>
setUri :: (MonadDOM m, ToJSString val) => RTCRtpHeaderExtensionParameters -> val -> m ()
setUri self val = liftDOM (void (self ^. jss "uri" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpheaderextensionparameters-uri RTCRtpHeaderExtensionParameters.uri specification>
getUri :: (MonadDOM m, FromJSString result) => RTCRtpHeaderExtensionParameters -> m result
getUri self = liftDOM (((self ^. js "uri") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpheaderextensionparameters-id RTCRtpHeaderExtensionParameters.id specification>
setId :: (MonadDOM m) => RTCRtpHeaderExtensionParameters -> Word -> m ()
setId self val = liftDOM (void (self ^. jss "id" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpheaderextensionparameters-id RTCRtpHeaderExtensionParameters.id specification>
getId :: (MonadDOM m) => RTCRtpHeaderExtensionParameters -> m Word
getId self = liftDOM ((P.round <$> ((self ^. js "id") >>= valToNumber)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpheaderextensionparameters-encrypted RTCRtpHeaderExtensionParameters.encrypted specification>
setEncrypted :: (MonadDOM m) => RTCRtpHeaderExtensionParameters -> Bool -> m ()
setEncrypted self val = liftDOM (void (self ^. jss "encrypted" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpheaderextensionparameters-encrypted RTCRtpHeaderExtensionParameters.encrypted specification>
getEncrypted :: (MonadDOM m) => RTCRtpHeaderExtensionParameters -> m (Maybe Bool)
getEncrypted self = liftDOM (((self ^. js "encrypted") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpheaderextensionparameters-encrypted RTCRtpHeaderExtensionParameters.encrypted specification>
getEncryptedUnsafe :: (MonadDOM m, HasCallStack) => RTCRtpHeaderExtensionParameters -> m Bool
getEncryptedUnsafe self = liftDOM ((((self ^. js "encrypted") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtpheaderextensionparameters-encrypted RTCRtpHeaderExtensionParameters.encrypted specification>
getEncryptedUnchecked :: (MonadDOM m) => RTCRtpHeaderExtensionParameters -> m Bool
getEncryptedUnchecked self = liftDOM (((self ^. js "encrypted") >>= valToBool))