packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCRtcpParameters.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.RTCRtcpParameters
       (newRTCRtcpParameters, setCname, getCname, getCnameUnsafe, getCnameUnchecked, setReducedSize, getReducedSize, getReducedSizeUnsafe, getReducedSizeUnchecked, RTCRtcpParameters(..), gTypeRTCRtcpParameters)
       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-rtcrtcpparameters RTCRtcpParameters specification>
newRTCRtcpParameters :: (MonadDOM m) => m RTCRtcpParameters
newRTCRtcpParameters = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtcpparameters-cname RTCRtcpParameters.cname specification>
setCname :: (MonadDOM m, ToJSString val) => RTCRtcpParameters -> val -> m ()
setCname self val = liftDOM (void (self ^. jss "cname" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtcpparameters-cname RTCRtcpParameters.cname specification>
getCname :: (MonadDOM m, FromJSString result) => RTCRtcpParameters -> m (Maybe result)
getCname self = liftDOM (((self ^. js "cname") >>= fromMaybeJSString))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtcpparameters-cname RTCRtcpParameters.cname specification>
getCnameUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => RTCRtcpParameters -> m result
getCnameUnsafe self = liftDOM ((((self ^. js "cname") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtcpparameters-cname RTCRtcpParameters.cname specification>
getCnameUnchecked :: (MonadDOM m, FromJSString result) => RTCRtcpParameters -> m result
getCnameUnchecked self = liftDOM (((self ^. js "cname") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtcpparameters-reducedsize RTCRtcpParameters.reducedSize specification>
setReducedSize :: (MonadDOM m) => RTCRtcpParameters -> Bool -> m ()
setReducedSize self val = liftDOM (void (self ^. jss "reducedSize" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtcpparameters-reducedsize RTCRtcpParameters.reducedSize specification>
getReducedSize :: (MonadDOM m) => RTCRtcpParameters -> m (Maybe Bool)
getReducedSize self = liftDOM (((self ^. js "reducedSize") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtcpparameters-reducedsize RTCRtcpParameters.reducedSize specification>
getReducedSizeUnsafe :: (MonadDOM m, HasCallStack) => RTCRtcpParameters -> m Bool
getReducedSizeUnsafe self = liftDOM ((((self ^. js "reducedSize") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcrtcpparameters-reducedsize RTCRtcpParameters.reducedSize specification>
getReducedSizeUnchecked :: (MonadDOM m) => RTCRtcpParameters -> m Bool
getReducedSizeUnchecked self = liftDOM (((self ^. js "reducedSize") >>= valToBool))