packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/WebTransport.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webtransport (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.WebTransport
       (js_newWebTransport, js_close, js_createBidirectionalStream, js_createSendGroup, js_createUnidirectionalStream, js_getStats, js_getReady, js_getReliability, js_getCongestionControl, js_setAnticipatedConcurrentIncomingUnidirectionalStreams, js_getAnticipatedConcurrentIncomingUnidirectionalStreams, js_setAnticipatedConcurrentIncomingBidirectionalStreams, js_getAnticipatedConcurrentIncomingBidirectionalStreams, js_getResponseHeaders, js_getProtocol, js_getClosed, js_getDraining, js_getDatagrams, js_getIncomingBidirectionalStreams, js_getIncomingUnidirectionalStreams, js_getSupportsReliableOnlyStatic, 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 GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2) => { return new globalThis[\"WebTransport\"]($1, $2); })"
        js_newWebTransport :: JSString -> JSVal -> IO WebTransport
-- | <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 (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_newWebTransport (toJSString url) a2'))

foreign import javascript safe "(($1, $2) => { return $1[\"close\"]($2); })"
        js_close :: WebTransport -> JSVal -> IO ()
-- | <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 (((P.maybe (P.return jsUndefined) toJSVal closeInfo) >>= \a2' -> js_close (self) a2')))

foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"createBidirectionalStream\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_createBidirectionalStream :: WebTransport -> JSVal -> IO (JSVal, WebTransportBidirectionalStream)
-- | <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 ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_createBidirectionalStream (self) a2') >>= checkPromiseResult))

-- | <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 ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_createBidirectionalStream (self) a2') >>= checkPromiseResult)))

foreign import javascript safe "(($1) => { return $1[\"createSendGroup\"](); })"
        js_createSendGroup :: WebTransport -> IO WebTransportSendGroup
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/createSendGroup MDN WebTransport.createSendGroup documentation>
createSendGroup :: (MonadDOM m) => WebTransport -> m WebTransportSendGroup
createSendGroup self = liftDOM ((js_createSendGroup (self)))

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

foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"createUnidirectionalStream\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_createUnidirectionalStream :: WebTransport -> JSVal -> IO (JSVal, WebTransportSendStream)
-- | <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 ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_createUnidirectionalStream (self) a2') >>= checkPromiseResult))

-- | <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 ((((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_createUnidirectionalStream (self) a2') >>= checkPromiseResult)))

foreign import javascript interruptible "(($1, $c) => { return $1[\"getStats\"]().then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_getStats :: WebTransport -> IO (JSVal, WebTransportConnectionStats)
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/getStats MDN WebTransport.getStats documentation>
getStats :: (MonadDOM m) => WebTransport -> m WebTransportConnectionStats
getStats self = liftDOM (((js_getStats (self)) >>= checkPromiseResult))

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

foreign import javascript interruptible "(($1, $c) => { return $1[\"ready\"].then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_getReady :: WebTransport -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/ready MDN WebTransport.ready documentation>
getReady :: (MonadDOM m) => WebTransport -> m ()
getReady self = liftDOM (void (((js_getReady (self)) >>= checkPromiseResult)))

foreign import javascript unsafe "(($1) => { return $1[\"reliability\"]; })"
        js_getReliability :: WebTransport -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/reliability MDN WebTransport.reliability documentation>
getReliability :: (MonadDOM m) => WebTransport -> m WebTransportReliabilityMode
getReliability self = liftDOM (((js_getReliability (self)) >>= fromJSValUnchecked))

foreign import javascript unsafe "(($1) => { return $1[\"congestionControl\"]; })"
        js_getCongestionControl :: WebTransport -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/congestionControl MDN WebTransport.congestionControl documentation>
getCongestionControl :: (MonadDOM m) => WebTransport -> m WebTransportCongestionControl
getCongestionControl self = liftDOM (((js_getCongestionControl (self)) >>= fromJSValUnchecked))

foreign import javascript safe "(($1, $2) => { $1[\"anticipatedConcurrentIncomingUnidirectionalStreams\"] = $2; })"
        js_setAnticipatedConcurrentIncomingUnidirectionalStreams :: WebTransport -> JSVal -> IO ()
-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingunidirectionalstreams WebTransport.anticipatedConcurrentIncomingUnidirectionalStreams specification>
setAnticipatedConcurrentIncomingUnidirectionalStreams :: (MonadDOM m) => WebTransport -> Maybe Word -> m ()
setAnticipatedConcurrentIncomingUnidirectionalStreams self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setAnticipatedConcurrentIncomingUnidirectionalStreams (self) a2')))

foreign import javascript unsafe "(($1) => { return $1[\"anticipatedConcurrentIncomingUnidirectionalStreams\"]; })"
        js_getAnticipatedConcurrentIncomingUnidirectionalStreams :: WebTransport -> IO JSVal
-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingunidirectionalstreams WebTransport.anticipatedConcurrentIncomingUnidirectionalStreams specification>
getAnticipatedConcurrentIncomingUnidirectionalStreams :: (MonadDOM m) => WebTransport -> m (Maybe Word)
getAnticipatedConcurrentIncomingUnidirectionalStreams self = liftDOM (((js_getAnticipatedConcurrentIncomingUnidirectionalStreams (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingunidirectionalstreams WebTransport.anticipatedConcurrentIncomingUnidirectionalStreams specification>
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnsafe :: (MonadDOM m, HasCallStack) => WebTransport -> m Word
getAnticipatedConcurrentIncomingUnidirectionalStreamsUnsafe self = liftDOM ((((js_getAnticipatedConcurrentIncomingUnidirectionalStreams (self)) >>= 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 ((pFromJSVal <$> (js_getAnticipatedConcurrentIncomingUnidirectionalStreams (self))))

foreign import javascript safe "(($1, $2) => { $1[\"anticipatedConcurrentIncomingBidirectionalStreams\"] = $2; })"
        js_setAnticipatedConcurrentIncomingBidirectionalStreams :: WebTransport -> JSVal -> IO ()
-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingbidirectionalstreams WebTransport.anticipatedConcurrentIncomingBidirectionalStreams specification>
setAnticipatedConcurrentIncomingBidirectionalStreams :: (MonadDOM m) => WebTransport -> Maybe Word -> m ()
setAnticipatedConcurrentIncomingBidirectionalStreams self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setAnticipatedConcurrentIncomingBidirectionalStreams (self) a2')))

foreign import javascript unsafe "(($1) => { return $1[\"anticipatedConcurrentIncomingBidirectionalStreams\"]; })"
        js_getAnticipatedConcurrentIncomingBidirectionalStreams :: WebTransport -> IO JSVal
-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingbidirectionalstreams WebTransport.anticipatedConcurrentIncomingBidirectionalStreams specification>
getAnticipatedConcurrentIncomingBidirectionalStreams :: (MonadDOM m) => WebTransport -> m (Maybe Word)
getAnticipatedConcurrentIncomingBidirectionalStreams self = liftDOM (((js_getAnticipatedConcurrentIncomingBidirectionalStreams (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-anticipatedconcurrentincomingbidirectionalstreams WebTransport.anticipatedConcurrentIncomingBidirectionalStreams specification>
getAnticipatedConcurrentIncomingBidirectionalStreamsUnsafe :: (MonadDOM m, HasCallStack) => WebTransport -> m Word
getAnticipatedConcurrentIncomingBidirectionalStreamsUnsafe self = liftDOM ((((js_getAnticipatedConcurrentIncomingBidirectionalStreams (self)) >>= 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 ((pFromJSVal <$> (js_getAnticipatedConcurrentIncomingBidirectionalStreams (self))))

foreign import javascript unsafe "(($1) => { return $1[\"responseHeaders\"]; })"
        js_getResponseHeaders :: WebTransport -> IO JSVal
-- | <https://w3c.github.io/webtransport/#dom-webtransport-responseheaders WebTransport.responseHeaders specification>
getResponseHeaders :: (MonadDOM m) => WebTransport -> m (Maybe Headers)
getResponseHeaders self = liftDOM (((js_getResponseHeaders (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webtransport/#dom-webtransport-responseheaders WebTransport.responseHeaders specification>
getResponseHeadersUnsafe :: (MonadDOM m, HasCallStack) => WebTransport -> m Headers
getResponseHeadersUnsafe self = liftDOM ((((js_getResponseHeaders (self)) >>= 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 ((pFromJSVal <$> (js_getResponseHeaders (self))))

foreign import javascript unsafe "(($1) => { return $1[\"protocol\"]; })"
        js_getProtocol :: WebTransport -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/protocol MDN WebTransport.protocol documentation>
getProtocol :: (MonadDOM m, FromJSString result) => WebTransport -> m result
getProtocol self = liftDOM ((fromJSString <$> (js_getProtocol (self))))

foreign import javascript interruptible "(($1, $c) => { return $1[\"closed\"].then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_getClosed :: WebTransport -> IO (JSVal, WebTransportCloseInfo)
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/closed MDN WebTransport.closed documentation>
getClosed :: (MonadDOM m) => WebTransport -> m WebTransportCloseInfo
getClosed self = liftDOM (((js_getClosed (self)) >>= checkPromiseResult))

foreign import javascript interruptible "(($1, $c) => { return $1[\"draining\"].then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
        js_getDraining :: WebTransport -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/draining MDN WebTransport.draining documentation>
getDraining :: (MonadDOM m) => WebTransport -> m ()
getDraining self = liftDOM (void (((js_getDraining (self)) >>= checkPromiseResult)))

foreign import javascript unsafe "(($1) => { return $1[\"datagrams\"]; })"
        js_getDatagrams :: WebTransport -> IO WebTransportDatagramDuplexStream
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/datagrams MDN WebTransport.datagrams documentation>
getDatagrams :: (MonadDOM m) => WebTransport -> m WebTransportDatagramDuplexStream
getDatagrams self = liftDOM ((js_getDatagrams (self)))

foreign import javascript unsafe "(($1) => { return $1[\"incomingBidirectionalStreams\"]; })"
        js_getIncomingBidirectionalStreams :: WebTransport -> IO ReadableStream
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/incomingBidirectionalStreams MDN WebTransport.incomingBidirectionalStreams documentation>
getIncomingBidirectionalStreams :: (MonadDOM m) => WebTransport -> m ReadableStream
getIncomingBidirectionalStreams self = liftDOM ((js_getIncomingBidirectionalStreams (self)))

foreign import javascript unsafe "(($1) => { return $1[\"incomingUnidirectionalStreams\"]; })"
        js_getIncomingUnidirectionalStreams :: WebTransport -> IO ReadableStream
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/incomingUnidirectionalStreams MDN WebTransport.incomingUnidirectionalStreams documentation>
getIncomingUnidirectionalStreams :: (MonadDOM m) => WebTransport -> m ReadableStream
getIncomingUnidirectionalStreams self = liftDOM ((js_getIncomingUnidirectionalStreams (self)))

foreign import javascript unsafe "(() => { return globalThis[\"WebTransport\"][\"supportsReliableOnly\"]; })"
        js_getSupportsReliableOnlyStatic :: IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/WebTransport/supportsReliableOnly_static MDN WebTransport.supportsReliableOnly documentation>
getSupportsReliableOnlyStatic :: (MonadDOM m) => m Bool
getSupportsReliableOnlyStatic = liftDOM ((js_getSupportsReliableOnlyStatic))