jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCLocalIceCandidateInit.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.RTCLocalIceCandidateInit
(newRTCLocalIceCandidateInit, setRelayProtocol, getRelayProtocol, getRelayProtocolUnsafe, getRelayProtocolUnchecked, setUrl, getUrl, getUrlUnsafe, getUrlUnchecked, RTCLocalIceCandidateInit(..), gTypeRTCLocalIceCandidateInit)
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-rtclocalicecandidateinit RTCLocalIceCandidateInit specification>
newRTCLocalIceCandidateInit :: (MonadDOM m) => m RTCLocalIceCandidateInit
newRTCLocalIceCandidateInit = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtclocalicecandidateinit-relayprotocol RTCLocalIceCandidateInit.relayProtocol specification>
setRelayProtocol :: (MonadDOM m) => RTCLocalIceCandidateInit -> Maybe RTCIceServerTransportProtocol -> m ()
setRelayProtocol self val = liftDOM (void (self ^. jss "relayProtocol" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtclocalicecandidateinit-relayprotocol RTCLocalIceCandidateInit.relayProtocol specification>
getRelayProtocol :: (MonadDOM m) => RTCLocalIceCandidateInit -> m (Maybe RTCIceServerTransportProtocol)
getRelayProtocol self = liftDOM (((self ^. js "relayProtocol") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtclocalicecandidateinit-relayprotocol RTCLocalIceCandidateInit.relayProtocol specification>
getRelayProtocolUnsafe :: (MonadDOM m, HasCallStack) => RTCLocalIceCandidateInit -> m RTCIceServerTransportProtocol
getRelayProtocolUnsafe self = liftDOM ((((self ^. js "relayProtocol") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtclocalicecandidateinit-relayprotocol RTCLocalIceCandidateInit.relayProtocol specification>
getRelayProtocolUnchecked :: (MonadDOM m) => RTCLocalIceCandidateInit -> m RTCIceServerTransportProtocol
getRelayProtocolUnchecked self = liftDOM (((self ^. js "relayProtocol") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtclocalicecandidateinit-url RTCLocalIceCandidateInit.url specification>
setUrl :: (MonadDOM m, ToJSString val) => RTCLocalIceCandidateInit -> Maybe val -> m ()
setUrl self val = liftDOM (void (self ^. jss "url" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtclocalicecandidateinit-url RTCLocalIceCandidateInit.url specification>
getUrl :: (MonadDOM m, FromJSString result) => RTCLocalIceCandidateInit -> m (Maybe result)
getUrl self = liftDOM (((self ^. js "url") >>= fromMaybeJSString))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtclocalicecandidateinit-url RTCLocalIceCandidateInit.url specification>
getUrlUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => RTCLocalIceCandidateInit -> m result
getUrlUnsafe self = liftDOM ((((self ^. js "url") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtclocalicecandidateinit-url RTCLocalIceCandidateInit.url specification>
getUrlUnchecked :: (MonadDOM m, FromJSString result) => RTCLocalIceCandidateInit -> m result
getUrlUnchecked self = liftDOM (((self ^. js "url") >>= fromJSValUnchecked))