packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCConfiguration.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.RTCConfiguration
       (newRTCConfiguration, setIceServers, getIceServers, getIceServersUnsafe, getIceServersUnchecked, setIceTransportPolicy, getIceTransportPolicy, getIceTransportPolicyUnsafe, getIceTransportPolicyUnchecked, setBundlePolicy, getBundlePolicy, getBundlePolicyUnsafe, getBundlePolicyUnchecked, setRtcpMuxPolicy, getRtcpMuxPolicy, getRtcpMuxPolicyUnsafe, getRtcpMuxPolicyUnchecked, setCertificates, getCertificates, getCertificatesUnsafe, getCertificatesUnchecked, setIceCandidatePoolSize, getIceCandidatePoolSize, getIceCandidatePoolSizeUnsafe, getIceCandidatePoolSizeUnchecked, setPeerIdentity, getPeerIdentity, getPeerIdentityUnsafe, getPeerIdentityUnchecked, RTCConfiguration(..), gTypeRTCConfiguration)
       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-rtcconfiguration RTCConfiguration specification>
newRTCConfiguration :: (MonadDOM m) => m RTCConfiguration
newRTCConfiguration = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-iceservers RTCConfiguration.iceServers specification>
setIceServers :: (MonadDOM m) => RTCConfiguration -> [RTCIceServer] -> m ()
setIceServers self val = liftDOM (void (self ^. jss "iceServers" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-iceservers RTCConfiguration.iceServers specification>
getIceServers :: (MonadDOM m) => RTCConfiguration -> m (Maybe [RTCIceServer])
getIceServers self = liftDOM (((self ^. js "iceServers") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-iceservers RTCConfiguration.iceServers specification>
getIceServersUnsafe :: (MonadDOM m, HasCallStack) => RTCConfiguration -> m [RTCIceServer]
getIceServersUnsafe self = liftDOM ((((self ^. js "iceServers") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-iceservers RTCConfiguration.iceServers specification>
getIceServersUnchecked :: (MonadDOM m) => RTCConfiguration -> m [RTCIceServer]
getIceServersUnchecked self = liftDOM (((self ^. js "iceServers") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icetransportpolicy RTCConfiguration.iceTransportPolicy specification>
setIceTransportPolicy :: (MonadDOM m) => RTCConfiguration -> RTCIceTransportPolicy -> m ()
setIceTransportPolicy self val = liftDOM (void (self ^. jss "iceTransportPolicy" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icetransportpolicy RTCConfiguration.iceTransportPolicy specification>
getIceTransportPolicy :: (MonadDOM m) => RTCConfiguration -> m (Maybe RTCIceTransportPolicy)
getIceTransportPolicy self = liftDOM (((self ^. js "iceTransportPolicy") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icetransportpolicy RTCConfiguration.iceTransportPolicy specification>
getIceTransportPolicyUnsafe :: (MonadDOM m, HasCallStack) => RTCConfiguration -> m RTCIceTransportPolicy
getIceTransportPolicyUnsafe self = liftDOM ((((self ^. js "iceTransportPolicy") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icetransportpolicy RTCConfiguration.iceTransportPolicy specification>
getIceTransportPolicyUnchecked :: (MonadDOM m) => RTCConfiguration -> m RTCIceTransportPolicy
getIceTransportPolicyUnchecked self = liftDOM (((self ^. js "iceTransportPolicy") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-bundlepolicy RTCConfiguration.bundlePolicy specification>
setBundlePolicy :: (MonadDOM m) => RTCConfiguration -> RTCBundlePolicy -> m ()
setBundlePolicy self val = liftDOM (void (self ^. jss "bundlePolicy" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-bundlepolicy RTCConfiguration.bundlePolicy specification>
getBundlePolicy :: (MonadDOM m) => RTCConfiguration -> m (Maybe RTCBundlePolicy)
getBundlePolicy self = liftDOM (((self ^. js "bundlePolicy") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-bundlepolicy RTCConfiguration.bundlePolicy specification>
getBundlePolicyUnsafe :: (MonadDOM m, HasCallStack) => RTCConfiguration -> m RTCBundlePolicy
getBundlePolicyUnsafe self = liftDOM ((((self ^. js "bundlePolicy") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-bundlepolicy RTCConfiguration.bundlePolicy specification>
getBundlePolicyUnchecked :: (MonadDOM m) => RTCConfiguration -> m RTCBundlePolicy
getBundlePolicyUnchecked self = liftDOM (((self ^. js "bundlePolicy") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-rtcpmuxpolicy RTCConfiguration.rtcpMuxPolicy specification>
setRtcpMuxPolicy :: (MonadDOM m) => RTCConfiguration -> RTCRtcpMuxPolicy -> m ()
setRtcpMuxPolicy self val = liftDOM (void (self ^. jss "rtcpMuxPolicy" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-rtcpmuxpolicy RTCConfiguration.rtcpMuxPolicy specification>
getRtcpMuxPolicy :: (MonadDOM m) => RTCConfiguration -> m (Maybe RTCRtcpMuxPolicy)
getRtcpMuxPolicy self = liftDOM (((self ^. js "rtcpMuxPolicy") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-rtcpmuxpolicy RTCConfiguration.rtcpMuxPolicy specification>
getRtcpMuxPolicyUnsafe :: (MonadDOM m, HasCallStack) => RTCConfiguration -> m RTCRtcpMuxPolicy
getRtcpMuxPolicyUnsafe self = liftDOM ((((self ^. js "rtcpMuxPolicy") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-rtcpmuxpolicy RTCConfiguration.rtcpMuxPolicy specification>
getRtcpMuxPolicyUnchecked :: (MonadDOM m) => RTCConfiguration -> m RTCRtcpMuxPolicy
getRtcpMuxPolicyUnchecked self = liftDOM (((self ^. js "rtcpMuxPolicy") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-certificates RTCConfiguration.certificates specification>
setCertificates :: (MonadDOM m) => RTCConfiguration -> [RTCCertificate] -> m ()
setCertificates self val = liftDOM (void (self ^. jss "certificates" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-certificates RTCConfiguration.certificates specification>
getCertificates :: (MonadDOM m) => RTCConfiguration -> m (Maybe [RTCCertificate])
getCertificates self = liftDOM (((self ^. js "certificates") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-certificates RTCConfiguration.certificates specification>
getCertificatesUnsafe :: (MonadDOM m, HasCallStack) => RTCConfiguration -> m [RTCCertificate]
getCertificatesUnsafe self = liftDOM ((((self ^. js "certificates") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-certificates RTCConfiguration.certificates specification>
getCertificatesUnchecked :: (MonadDOM m) => RTCConfiguration -> m [RTCCertificate]
getCertificatesUnchecked self = liftDOM (((self ^. js "certificates") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icecandidatepoolsize RTCConfiguration.iceCandidatePoolSize specification>
setIceCandidatePoolSize :: (MonadDOM m) => RTCConfiguration -> Word -> m ()
setIceCandidatePoolSize self val = liftDOM (void (self ^. jss "iceCandidatePoolSize" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icecandidatepoolsize RTCConfiguration.iceCandidatePoolSize specification>
getIceCandidatePoolSize :: (MonadDOM m) => RTCConfiguration -> m (Maybe Word)
getIceCandidatePoolSize self = liftDOM (((self ^. js "iceCandidatePoolSize") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icecandidatepoolsize RTCConfiguration.iceCandidatePoolSize specification>
getIceCandidatePoolSizeUnsafe :: (MonadDOM m, HasCallStack) => RTCConfiguration -> m Word
getIceCandidatePoolSizeUnsafe self = liftDOM ((((self ^. js "iceCandidatePoolSize") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-pc/#dom-rtcconfiguration-icecandidatepoolsize RTCConfiguration.iceCandidatePoolSize specification>
getIceCandidatePoolSizeUnchecked :: (MonadDOM m) => RTCConfiguration -> m Word
getIceCandidatePoolSizeUnchecked self = liftDOM ((P.round <$> ((self ^. js "iceCandidatePoolSize") >>= valToNumber)))

-- | <https://w3c.github.io/webrtc-identity/#dom-rtcconfiguration-peeridentity RTCConfiguration.peerIdentity specification>
setPeerIdentity :: (MonadDOM m, ToJSString val) => RTCConfiguration -> val -> m ()
setPeerIdentity self val = liftDOM (void (self ^. jss "peerIdentity" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-identity/#dom-rtcconfiguration-peeridentity RTCConfiguration.peerIdentity specification>
getPeerIdentity :: (MonadDOM m, FromJSString result) => RTCConfiguration -> m (Maybe result)
getPeerIdentity self = liftDOM (((self ^. js "peerIdentity") >>= fromMaybeJSString))

-- | <https://w3c.github.io/webrtc-identity/#dom-rtcconfiguration-peeridentity RTCConfiguration.peerIdentity specification>
getPeerIdentityUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => RTCConfiguration -> m result
getPeerIdentityUnsafe self = liftDOM ((((self ^. js "peerIdentity") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-identity/#dom-rtcconfiguration-peeridentity RTCConfiguration.peerIdentity specification>
getPeerIdentityUnchecked :: (MonadDOM m, FromJSString result) => RTCConfiguration -> m result
getPeerIdentityUnchecked self = liftDOM (((self ^. js "peerIdentity") >>= fromJSValUnchecked))