packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from streams (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.WritableStream
       (js_newWritableStream, js_newWritableStream', js_abort, js_close, js_getWriter, js_getLocked, newWritableStream, newWritableStream', abort, close, getWriter, getWriter_, getLocked, WritableStream(..), gTypeWritableStream, IsWritableStream, toWritableStream)
       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 "(() => { return new globalThis[\"WritableStream\"](); })"
        js_newWritableStream :: IO WritableStream
-- | <https://developer.mozilla.org/docs/Web/API/WritableStream/WritableStream MDN WritableStream. documentation>
newWritableStream :: (MonadDOM m) => m WritableStream
newWritableStream = liftDOM ((js_newWritableStream))

foreign import javascript safe "(($1, $2) => { return new globalThis[\"WritableStream\"]($1, $2); })"
        js_newWritableStream' :: JSVal -> JSVal -> IO WritableStream
-- | <https://developer.mozilla.org/docs/Web/API/WritableStream/WritableStream MDN WritableStream. documentation>
newWritableStream' :: (MonadDOM m) => Maybe GObject -> Maybe QueuingStrategy -> m WritableStream
newWritableStream' underlyingSink strategy = liftDOM (((P.maybe (P.return jsUndefined) toJSVal underlyingSink) >>= \a1' -> (P.maybe (P.return jsUndefined) toJSVal strategy) >>= \a2' -> js_newWritableStream' a1' a2'))

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

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

foreign import javascript safe "(($1) => { return $1[\"getWriter\"](); })"
        js_getWriter :: WritableStream -> IO WritableStreamDefaultWriter
-- | <https://developer.mozilla.org/docs/Web/API/WritableStream/getWriter MDN WritableStream.getWriter documentation>
getWriter :: (MonadDOM m, IsWritableStream self) => self -> m WritableStreamDefaultWriter
getWriter self = liftDOM ((js_getWriter ((Types.toWritableStream self))))

-- | <https://developer.mozilla.org/docs/Web/API/WritableStream/getWriter MDN WritableStream.getWriter documentation>
getWriter_ :: (MonadDOM m, IsWritableStream self) => self -> m ()
getWriter_ self = liftDOM (void ((js_getWriter ((Types.toWritableStream self)))))

foreign import javascript unsafe "(($1) => { return $1[\"locked\"]; })"
        js_getLocked :: WritableStream -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/WritableStream/locked MDN WritableStream.locked documentation>
getLocked :: (MonadDOM m, IsWritableStream self) => self -> m Bool
getLocked self = liftDOM ((js_getLocked ((Types.toWritableStream self))))