jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCPeerConnectionIceEventInit.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.RTCPeerConnectionIceEventInit
(newRTCPeerConnectionIceEventInit, setCandidate, getCandidate, getCandidateUnsafe, getCandidateUnchecked, setUrl, getUrl, getUrlUnsafe, getUrlUnchecked, RTCPeerConnectionIceEventInit(..), gTypeRTCPeerConnectionIceEventInit)
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-rtcpeerconnectioniceeventinit RTCPeerConnectionIceEventInit specification>
newRTCPeerConnectionIceEventInit :: (MonadDOM m) => m RTCPeerConnectionIceEventInit
newRTCPeerConnectionIceEventInit = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectioniceeventinit-candidate RTCPeerConnectionIceEventInit.candidate specification>
setCandidate :: (MonadDOM m) => RTCPeerConnectionIceEventInit -> Maybe RTCIceCandidate -> m ()
setCandidate self val = liftDOM (void (self ^. jss "candidate" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectioniceeventinit-candidate RTCPeerConnectionIceEventInit.candidate specification>
getCandidate :: (MonadDOM m) => RTCPeerConnectionIceEventInit -> m (Maybe RTCIceCandidate)
getCandidate self = liftDOM (((self ^. js "candidate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectioniceeventinit-candidate RTCPeerConnectionIceEventInit.candidate specification>
getCandidateUnsafe :: (MonadDOM m, HasCallStack) => RTCPeerConnectionIceEventInit -> m RTCIceCandidate
getCandidateUnsafe self = liftDOM ((((self ^. js "candidate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectioniceeventinit-candidate RTCPeerConnectionIceEventInit.candidate specification>
getCandidateUnchecked :: (MonadDOM m) => RTCPeerConnectionIceEventInit -> m RTCIceCandidate
getCandidateUnchecked self = liftDOM (((self ^. js "candidate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectioniceeventinit-url RTCPeerConnectionIceEventInit.url specification>
setUrl :: (MonadDOM m, ToJSString val) => RTCPeerConnectionIceEventInit -> Maybe val -> m ()
setUrl self val = liftDOM (void (self ^. jss "url" (toJSVal val)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectioniceeventinit-url RTCPeerConnectionIceEventInit.url specification>
getUrl :: (MonadDOM m, FromJSString result) => RTCPeerConnectionIceEventInit -> m (Maybe result)
getUrl self = liftDOM (((self ^. js "url") >>= fromMaybeJSString))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectioniceeventinit-url RTCPeerConnectionIceEventInit.url specification>
getUrlUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => RTCPeerConnectionIceEventInit -> 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-rtcpeerconnectioniceeventinit-url RTCPeerConnectionIceEventInit.url specification>
getUrlUnchecked :: (MonadDOM m, FromJSString result) => RTCPeerConnectionIceEventInit -> m result
getUrlUnchecked self = liftDOM (((self ^. js "url") >>= fromJSValUnchecked))