jsaddle-dom-0.10.0.0: src/JSDOM/Generated/WebTransportOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webtransport (webref). Do not edit.
module JSDOM.Generated.WebTransportOptions
(newWebTransportOptions, setAllowPooling, getAllowPooling, getAllowPoolingUnsafe, getAllowPoolingUnchecked, setRequireUnreliable, getRequireUnreliable, getRequireUnreliableUnsafe, getRequireUnreliableUnchecked, setHeaders, getHeaders, getHeadersUnsafe, getHeadersUnchecked, setServerCertificateHashes, getServerCertificateHashes, getServerCertificateHashesUnsafe, getServerCertificateHashesUnchecked, setCongestionControl, getCongestionControl, getCongestionControlUnsafe, getCongestionControlUnchecked, setAnticipatedConcurrentIncomingUnidirectionalStreams, getAnticipatedConcurrentIncomingUnidirectionalStreams, getAnticipatedConcurrentIncomingUnidirectionalStreamsUnsafe, getAnticipatedConcurrentIncomingUnidirectionalStreamsUnchecked, setAnticipatedConcurrentIncomingBidirectionalStreams, getAnticipatedConcurrentIncomingBidirectionalStreams, getAnticipatedConcurrentIncomingBidirectionalStreamsUnsafe, getAnticipatedConcurrentIncomingBidirectionalStreamsUnchecked, setProtocols, getProtocols, getProtocolsUnsafe, getProtocolsUnchecked, setDatagramsReadableType, getDatagramsReadableType, getDatagramsReadableTypeUnsafe, getDatagramsReadableTypeUnchecked, WebTransportOptions(..), gTypeWebTransportOptions)
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/webtransport/#dictdef-webtransportoptions WebTransportOptions specification>
newWebTransportOptions :: (MonadDOM m) => m WebTransportOptions
newWebTransportOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-allowpooling WebTransportOptions.allowPooling specification>
setAllowPooling :: (MonadDOM m) => WebTransportOptions -> Bool -> m ()
setAllowPooling self val = liftDOM (void (self ^. jss "allowPooling" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-allowpooling WebTransportOptions.allowPooling specification>
getAllowPooling :: (MonadDOM m) => WebTransportOptions -> m (Maybe Bool)
getAllowPooling self = liftDOM (((self ^. js "allowPooling") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-allowpooling WebTransportOptions.allowPooling specification>
getAllowPoolingUnsafe :: (MonadDOM m, HasCallStack) => WebTransportOptions -> m Bool
getAllowPoolingUnsafe self = liftDOM ((((self ^. js "allowPooling") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-allowpooling WebTransportOptions.allowPooling specification>
getAllowPoolingUnchecked :: (MonadDOM m) => WebTransportOptions -> m Bool
getAllowPoolingUnchecked self = liftDOM (((self ^. js "allowPooling") >>= valToBool))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-requireunreliable WebTransportOptions.requireUnreliable specification>
setRequireUnreliable :: (MonadDOM m) => WebTransportOptions -> Bool -> m ()
setRequireUnreliable self val = liftDOM (void (self ^. jss "requireUnreliable" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-requireunreliable WebTransportOptions.requireUnreliable specification>
getRequireUnreliable :: (MonadDOM m) => WebTransportOptions -> m (Maybe Bool)
getRequireUnreliable self = liftDOM (((self ^. js "requireUnreliable") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-requireunreliable WebTransportOptions.requireUnreliable specification>
getRequireUnreliableUnsafe :: (MonadDOM m, HasCallStack) => WebTransportOptions -> m Bool
getRequireUnreliableUnsafe self = liftDOM ((((self ^. js "requireUnreliable") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-requireunreliable WebTransportOptions.requireUnreliable specification>
getRequireUnreliableUnchecked :: (MonadDOM m) => WebTransportOptions -> m Bool
getRequireUnreliableUnchecked self = liftDOM (((self ^. js "requireUnreliable") >>= valToBool))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-headers WebTransportOptions.headers specification>
setHeaders :: (MonadDOM m, IsHeadersInit val) => WebTransportOptions -> val -> m ()
setHeaders self val = liftDOM (void (self ^. jss "headers" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-headers WebTransportOptions.headers specification>
getHeaders :: (MonadDOM m) => WebTransportOptions -> m (Maybe HeadersInit)
getHeaders self = liftDOM (((self ^. js "headers") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-headers WebTransportOptions.headers specification>
getHeadersUnsafe :: (MonadDOM m, HasCallStack) => WebTransportOptions -> m HeadersInit
getHeadersUnsafe self = liftDOM ((((self ^. js "headers") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-headers WebTransportOptions.headers specification>
getHeadersUnchecked :: (MonadDOM m) => WebTransportOptions -> m HeadersInit
getHeadersUnchecked self = liftDOM (((self ^. js "headers") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-servercertificatehashes WebTransportOptions.serverCertificateHashes specification>
setServerCertificateHashes :: (MonadDOM m) => WebTransportOptions -> [WebTransportHash] -> m ()
setServerCertificateHashes self val = liftDOM (void (self ^. jss "serverCertificateHashes" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-servercertificatehashes WebTransportOptions.serverCertificateHashes specification>
getServerCertificateHashes :: (MonadDOM m) => WebTransportOptions -> m (Maybe [WebTransportHash])
getServerCertificateHashes self = liftDOM (((self ^. js "serverCertificateHashes") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-servercertificatehashes WebTransportOptions.serverCertificateHashes specification>
getServerCertificateHashesUnsafe :: (MonadDOM m, HasCallStack) => WebTransportOptions -> m [WebTransportHash]
getServerCertificateHashesUnsafe self = liftDOM ((((self ^. js "serverCertificateHashes") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-servercertificatehashes WebTransportOptions.serverCertificateHashes specification>
getServerCertificateHashesUnchecked :: (MonadDOM m) => WebTransportOptions -> m [WebTransportHash]
getServerCertificateHashesUnchecked self = liftDOM (((self ^. js "serverCertificateHashes") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-congestioncontrol WebTransportOptions.congestionControl specification>
setCongestionControl :: (MonadDOM m) => WebTransportOptions -> WebTransportCongestionControl -> m ()
setCongestionControl self val = liftDOM (void (self ^. jss "congestionControl" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-congestioncontrol WebTransportOptions.congestionControl specification>
getCongestionControl :: (MonadDOM m) => WebTransportOptions -> m (Maybe WebTransportCongestionControl)
getCongestionControl self = liftDOM (((self ^. js "congestionControl") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-congestioncontrol WebTransportOptions.congestionControl specification>
getCongestionControlUnsafe :: (MonadDOM m, HasCallStack) => WebTransportOptions -> m WebTransportCongestionControl
getCongestionControlUnsafe self = liftDOM ((((self ^. js "congestionControl") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-congestioncontrol WebTransportOptions.congestionControl specification>
getCongestionControlUnchecked :: (MonadDOM m) => WebTransportOptions -> m WebTransportCongestionControl
getCongestionControlUnchecked self = liftDOM (((self ^. js "congestionControl") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-anticipatedconcurrentincomingunidirectionalstreams WebTransportOptions.anticipatedConcurrentIncomingUnidirectionalStreams specification>
setAnticipatedConcurrentIncomingUnidirectionalStreams :: (MonadDOM m) => WebTransportOptions -> Maybe Word -> m ()
setAnticipatedConcurrentIncomingUnidirectionalStreams self val = liftDOM (void (self ^. jss "anticipatedConcurrentIncomingUnidirectionalStreams" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-anticipatedconcurrentincomingunidirectionalstreams WebTransportOptions.anticipatedConcurrentIncomingUnidirectionalStreams specification>
getAnticipatedConcurrentIncomingUnidirectionalStreams :: (MonadDOM m) => WebTransportOptions -> m (Maybe Word)
getAnticipatedConcurrentIncomingUnidirectionalStreams self = liftDOM (((self ^. js "anticipatedConcurrentIncomingUnidirectionalStreams") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-anticipatedconcurrentincomingunidirectionalstreams WebTransportOptions.anticipatedConcurrentIncomingUnidirectionalStreams specification>
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnsafe :: (MonadDOM m, HasCallStack) => WebTransportOptions -> m Word
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnsafe self = liftDOM ((((self ^. js "anticipatedConcurrentIncomingUnidirectionalStreams") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-anticipatedconcurrentincomingunidirectionalstreams WebTransportOptions.anticipatedConcurrentIncomingUnidirectionalStreams specification>
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnchecked :: (MonadDOM m) => WebTransportOptions -> m Word
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnchecked self = liftDOM ((P.round <$> ((self ^. js "anticipatedConcurrentIncomingUnidirectionalStreams") >>= valToNumber)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-anticipatedconcurrentincomingbidirectionalstreams WebTransportOptions.anticipatedConcurrentIncomingBidirectionalStreams specification>
setAnticipatedConcurrentIncomingBidirectionalStreams :: (MonadDOM m) => WebTransportOptions -> Maybe Word -> m ()
setAnticipatedConcurrentIncomingBidirectionalStreams self val = liftDOM (void (self ^. jss "anticipatedConcurrentIncomingBidirectionalStreams" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-anticipatedconcurrentincomingbidirectionalstreams WebTransportOptions.anticipatedConcurrentIncomingBidirectionalStreams specification>
getAnticipatedConcurrentIncomingBidirectionalStreams :: (MonadDOM m) => WebTransportOptions -> m (Maybe Word)
getAnticipatedConcurrentIncomingBidirectionalStreams self = liftDOM (((self ^. js "anticipatedConcurrentIncomingBidirectionalStreams") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-anticipatedconcurrentincomingbidirectionalstreams WebTransportOptions.anticipatedConcurrentIncomingBidirectionalStreams specification>
getAnticipatedConcurrentIncomingBidirectionalStreamsUnsafe :: (MonadDOM m, HasCallStack) => WebTransportOptions -> m Word
getAnticipatedConcurrentIncomingBidirectionalStreamsUnsafe self = liftDOM ((((self ^. js "anticipatedConcurrentIncomingBidirectionalStreams") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-anticipatedconcurrentincomingbidirectionalstreams WebTransportOptions.anticipatedConcurrentIncomingBidirectionalStreams specification>
getAnticipatedConcurrentIncomingBidirectionalStreamsUnchecked :: (MonadDOM m) => WebTransportOptions -> m Word
getAnticipatedConcurrentIncomingBidirectionalStreamsUnchecked self = liftDOM ((P.round <$> ((self ^. js "anticipatedConcurrentIncomingBidirectionalStreams") >>= valToNumber)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-protocols WebTransportOptions.protocols specification>
setProtocols :: (MonadDOM m, ToJSString val) => WebTransportOptions -> [val] -> m ()
setProtocols self val = liftDOM (void (self ^. jss "protocols" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-protocols WebTransportOptions.protocols specification>
getProtocols :: (MonadDOM m, FromJSString result) => WebTransportOptions -> m (Maybe [result])
getProtocols self = liftDOM (((self ^. js "protocols") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-protocols WebTransportOptions.protocols specification>
getProtocolsUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => WebTransportOptions -> m [result]
getProtocolsUnsafe self = liftDOM ((((self ^. js "protocols") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-protocols WebTransportOptions.protocols specification>
getProtocolsUnchecked :: (MonadDOM m, FromJSString result) => WebTransportOptions -> m [result]
getProtocolsUnchecked self = liftDOM (((self ^. js "protocols") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-datagramsreadabletype WebTransportOptions.datagramsReadableType specification>
setDatagramsReadableType :: (MonadDOM m) => WebTransportOptions -> ReadableStreamType -> m ()
setDatagramsReadableType self val = liftDOM (void (self ^. jss "datagramsReadableType" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-datagramsreadabletype WebTransportOptions.datagramsReadableType specification>
getDatagramsReadableType :: (MonadDOM m) => WebTransportOptions -> m (Maybe ReadableStreamType)
getDatagramsReadableType self = liftDOM (((self ^. js "datagramsReadableType") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-datagramsreadabletype WebTransportOptions.datagramsReadableType specification>
getDatagramsReadableTypeUnsafe :: (MonadDOM m, HasCallStack) => WebTransportOptions -> m ReadableStreamType
getDatagramsReadableTypeUnsafe self = liftDOM ((((self ^. js "datagramsReadableType") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webtransport/#dom-webtransportoptions-datagramsreadabletype WebTransportOptions.datagramsReadableType specification>
getDatagramsReadableTypeUnchecked :: (MonadDOM m) => WebTransportOptions -> m ReadableStreamType
getDatagramsReadableTypeUnchecked self = liftDOM (((self ^. js "datagramsReadableType") >>= fromJSValUnchecked))