jsaddle-dom-0.10.0.0: src/JSDOM/Generated/RTCSctpTransport.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.RTCSctpTransport
(getTransport, getState, getMaxMessageSize, getMaxMessageSizeUnsafe, getMaxMessageSizeUnchecked, getMaxChannels, getMaxChannelsUnsafe, getMaxChannelsUnchecked, statechange, RTCSctpTransport(..), gTypeRTCSctpTransport)
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://developer.mozilla.org/docs/Web/API/RTCSctpTransport/transport MDN RTCSctpTransport.transport documentation>
getTransport :: (MonadDOM m) => RTCSctpTransport -> m RTCDtlsTransport
getTransport self = liftDOM (((self ^. js "transport") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/state MDN RTCSctpTransport.state documentation>
getState :: (MonadDOM m) => RTCSctpTransport -> m RTCSctpTransportState
getState self = liftDOM (((self ^. js "state") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxMessageSize MDN RTCSctpTransport.maxMessageSize documentation>
getMaxMessageSize :: (MonadDOM m) => RTCSctpTransport -> m (Maybe Double)
getMaxMessageSize self = liftDOM (((self ^. js "maxMessageSize") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxMessageSize MDN RTCSctpTransport.maxMessageSize documentation>
getMaxMessageSizeUnsafe :: (MonadDOM m, HasCallStack) => RTCSctpTransport -> m Double
getMaxMessageSizeUnsafe self = liftDOM ((((self ^. js "maxMessageSize") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxMessageSize MDN RTCSctpTransport.maxMessageSize documentation>
getMaxMessageSizeUnchecked :: (MonadDOM m) => RTCSctpTransport -> m Double
getMaxMessageSizeUnchecked self = liftDOM (((self ^. js "maxMessageSize") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxChannels MDN RTCSctpTransport.maxChannels documentation>
getMaxChannels :: (MonadDOM m) => RTCSctpTransport -> m (Maybe Word)
getMaxChannels self = liftDOM (((self ^. js "maxChannels") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxChannels MDN RTCSctpTransport.maxChannels documentation>
getMaxChannelsUnsafe :: (MonadDOM m, HasCallStack) => RTCSctpTransport -> m Word
getMaxChannelsUnsafe self = liftDOM ((((self ^. js "maxChannels") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxChannels MDN RTCSctpTransport.maxChannels documentation>
getMaxChannelsUnchecked :: (MonadDOM m) => RTCSctpTransport -> m Word
getMaxChannelsUnchecked self = liftDOM ((P.round <$> ((self ^. js "maxChannels") >>= valToNumber)))
-- | <https://w3c.github.io/webrtc-pc/#dom-rtcsctptransport-onstatechange statechange event>
statechange :: EventName RTCSctpTransport Event
statechange = unsafeEventName (toJSString "statechange")