packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/WebTransport.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.WebTransport
       (newWebTransport, close, createBidirectionalStream, createBidirectionalStream_, createSendGroup, createSendGroup_, createUnidirectionalStream, createUnidirectionalStream_, getStats, getStats_, getReady, getReliability, getCongestionControl, setAnticipatedConcurrentIncomingUnidirectionalStreams, getAnticipatedConcurrentIncomingUnidirectionalStreams, getAnticipatedConcurrentIncomingUnidirectionalStreamsUnsafe, getAnticipatedConcurrentIncomingUnidirectionalStreamsUnchecked, setAnticipatedConcurrentIncomingBidirectionalStreams, getAnticipatedConcurrentIncomingBidirectionalStreams, getAnticipatedConcurrentIncomingBidirectionalStreamsUnsafe, getAnticipatedConcurrentIncomingBidirectionalStreamsUnchecked, getResponseHeaders, getResponseHeadersUnsafe, getResponseHeadersUnchecked, getProtocol, getClosed, getDraining, getDatagrams, getIncomingBidirectionalStreams, getIncomingUnidirectionalStreams, getSupportsReliableOnlyStatic, WebTransport(..), gTypeWebTransport)
       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/WebTransport/WebTransport MDN WebTransport. documentation>
newWebTransport :: (MonadDOM m, ToJSString url) => url -> Maybe WebTransportOptions -> m WebTransport
newWebTransport url options = liftDOM (((new (jsg "WebTransport") [toJSVal url, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/close MDN WebTransport.close documentation>
close :: (MonadDOM m) => WebTransport -> Maybe WebTransportCloseInfo -> m ()
close self closeInfo = liftDOM (void (self ^. jsf "close" [P.maybe (P.return jsUndefined) toJSVal closeInfo]))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/createBidirectionalStream MDN WebTransport.createBidirectionalStream documentation>
createBidirectionalStream :: (MonadDOM m) => WebTransport -> Maybe WebTransportSendStreamOptions -> m WebTransportBidirectionalStream
createBidirectionalStream self options = liftDOM (((((self ^. jsf "createBidirectionalStream" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/createBidirectionalStream MDN WebTransport.createBidirectionalStream documentation>
createBidirectionalStream_ :: (MonadDOM m) => WebTransport -> Maybe WebTransportSendStreamOptions -> m ()
createBidirectionalStream_ self options = liftDOM (void (((self ^. jsf "createBidirectionalStream" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/createSendGroup MDN WebTransport.createSendGroup documentation>
createSendGroup :: (MonadDOM m) => WebTransport -> m WebTransportSendGroup
createSendGroup self = liftDOM (((self ^. jsf "createSendGroup" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/createSendGroup MDN WebTransport.createSendGroup documentation>
createSendGroup_ :: (MonadDOM m) => WebTransport -> m ()
createSendGroup_ self = liftDOM (void (self ^. jsf "createSendGroup" ()))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/createUnidirectionalStream MDN WebTransport.createUnidirectionalStream documentation>
createUnidirectionalStream :: (MonadDOM m) => WebTransport -> Maybe WebTransportSendStreamOptions -> m WebTransportSendStream
createUnidirectionalStream self options = liftDOM (((((self ^. jsf "createUnidirectionalStream" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/createUnidirectionalStream MDN WebTransport.createUnidirectionalStream documentation>
createUnidirectionalStream_ :: (MonadDOM m) => WebTransport -> Maybe WebTransportSendStreamOptions -> m ()
createUnidirectionalStream_ self options = liftDOM (void (((self ^. jsf "createUnidirectionalStream" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/getStats MDN WebTransport.getStats documentation>
getStats :: (MonadDOM m) => WebTransport -> m WebTransportConnectionStats
getStats self = liftDOM (((((self ^. jsf "getStats" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/getStats MDN WebTransport.getStats documentation>
getStats_ :: (MonadDOM m) => WebTransport -> m ()
getStats_ self = liftDOM (void (((self ^. jsf "getStats" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/ready MDN WebTransport.ready documentation>
getReady :: (MonadDOM m) => WebTransport -> m ()
getReady self = liftDOM (void (((self ^. js "ready") >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/reliability MDN WebTransport.reliability documentation>
getReliability :: (MonadDOM m) => WebTransport -> m WebTransportReliabilityMode
getReliability self = liftDOM (((self ^. js "reliability") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/congestionControl MDN WebTransport.congestionControl documentation>
getCongestionControl :: (MonadDOM m) => WebTransport -> m WebTransportCongestionControl
getCongestionControl self = liftDOM (((self ^. js "congestionControl") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingunidirectionalstreams WebTransport.anticipatedConcurrentIncomingUnidirectionalStreams specification>
setAnticipatedConcurrentIncomingUnidirectionalStreams :: (MonadDOM m) => WebTransport -> Maybe Word -> m ()
setAnticipatedConcurrentIncomingUnidirectionalStreams self val = liftDOM (void (self ^. jss "anticipatedConcurrentIncomingUnidirectionalStreams" (toJSVal val)))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingunidirectionalstreams WebTransport.anticipatedConcurrentIncomingUnidirectionalStreams specification>
getAnticipatedConcurrentIncomingUnidirectionalStreams :: (MonadDOM m) => WebTransport -> m (Maybe Word)
getAnticipatedConcurrentIncomingUnidirectionalStreams self = liftDOM (((self ^. js "anticipatedConcurrentIncomingUnidirectionalStreams") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingunidirectionalstreams WebTransport.anticipatedConcurrentIncomingUnidirectionalStreams specification>
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnsafe :: (MonadDOM m, HasCallStack) => WebTransport -> m Word
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnsafe self = liftDOM ((((self ^. js "anticipatedConcurrentIncomingUnidirectionalStreams") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingunidirectionalstreams WebTransport.anticipatedConcurrentIncomingUnidirectionalStreams specification>
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnchecked :: (MonadDOM m) => WebTransport -> m Word
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnchecked self = liftDOM ((P.round <$> ((self ^. js "anticipatedConcurrentIncomingUnidirectionalStreams") >>= valToNumber)))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingbidirectionalstreams WebTransport.anticipatedConcurrentIncomingBidirectionalStreams specification>
setAnticipatedConcurrentIncomingBidirectionalStreams :: (MonadDOM m) => WebTransport -> Maybe Word -> m ()
setAnticipatedConcurrentIncomingBidirectionalStreams self val = liftDOM (void (self ^. jss "anticipatedConcurrentIncomingBidirectionalStreams" (toJSVal val)))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingbidirectionalstreams WebTransport.anticipatedConcurrentIncomingBidirectionalStreams specification>
getAnticipatedConcurrentIncomingBidirectionalStreams :: (MonadDOM m) => WebTransport -> m (Maybe Word)
getAnticipatedConcurrentIncomingBidirectionalStreams self = liftDOM (((self ^. js "anticipatedConcurrentIncomingBidirectionalStreams") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingbidirectionalstreams WebTransport.anticipatedConcurrentIncomingBidirectionalStreams specification>
getAnticipatedConcurrentIncomingBidirectionalStreamsUnsafe :: (MonadDOM m, HasCallStack) => WebTransport -> m Word
getAnticipatedConcurrentIncomingBidirectionalStreamsUnsafe self = liftDOM ((((self ^. js "anticipatedConcurrentIncomingBidirectionalStreams") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingbidirectionalstreams WebTransport.anticipatedConcurrentIncomingBidirectionalStreams specification>
getAnticipatedConcurrentIncomingBidirectionalStreamsUnchecked :: (MonadDOM m) => WebTransport -> m Word
getAnticipatedConcurrentIncomingBidirectionalStreamsUnchecked self = liftDOM ((P.round <$> ((self ^. js "anticipatedConcurrentIncomingBidirectionalStreams") >>= valToNumber)))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-responseheaders WebTransport.responseHeaders specification>
getResponseHeaders :: (MonadDOM m) => WebTransport -> m (Maybe Headers)
getResponseHeaders self = liftDOM (((self ^. js "responseHeaders") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-responseheaders WebTransport.responseHeaders specification>
getResponseHeadersUnsafe :: (MonadDOM m, HasCallStack) => WebTransport -> m Headers
getResponseHeadersUnsafe self = liftDOM ((((self ^. js "responseHeaders") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-responseheaders WebTransport.responseHeaders specification>
getResponseHeadersUnchecked :: (MonadDOM m) => WebTransport -> m Headers
getResponseHeadersUnchecked self = liftDOM (((self ^. js "responseHeaders") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/protocol MDN WebTransport.protocol documentation>
getProtocol :: (MonadDOM m, FromJSString result) => WebTransport -> m result
getProtocol self = liftDOM (((self ^. js "protocol") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/closed MDN WebTransport.closed documentation>
getClosed :: (MonadDOM m) => WebTransport -> m WebTransportCloseInfo
getClosed self = liftDOM (((((self ^. js "closed") >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/draining MDN WebTransport.draining documentation>
getDraining :: (MonadDOM m) => WebTransport -> m ()
getDraining self = liftDOM (void (((self ^. js "draining") >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/datagrams MDN WebTransport.datagrams documentation>
getDatagrams :: (MonadDOM m) => WebTransport -> m WebTransportDatagramDuplexStream
getDatagrams self = liftDOM (((self ^. js "datagrams") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/incomingBidirectionalStreams MDN WebTransport.incomingBidirectionalStreams documentation>
getIncomingBidirectionalStreams :: (MonadDOM m) => WebTransport -> m ReadableStream
getIncomingBidirectionalStreams self = liftDOM (((self ^. js "incomingBidirectionalStreams") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/incomingUnidirectionalStreams MDN WebTransport.incomingUnidirectionalStreams documentation>
getIncomingUnidirectionalStreams :: (MonadDOM m) => WebTransport -> m ReadableStream
getIncomingUnidirectionalStreams self = liftDOM (((self ^. js "incomingUnidirectionalStreams") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/supportsReliableOnly_static MDN WebTransport.supportsReliableOnly documentation>
getSupportsReliableOnlyStatic :: (MonadDOM m) => m Bool
getSupportsReliableOnlyStatic = liftDOM ((((jsg "WebTransport") ^. js "supportsReliableOnly") >>= valToBool))