ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/WritableStreamDefaultWriter.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.WritableStreamDefaultWriter
(js_newWritableStreamDefaultWriter, js_abort, js_close, js_releaseLock, js_write, js_getClosed, js_getDesiredSize, js_getReady, newWritableStreamDefaultWriter, abort, close, releaseLock, write, getClosed, getDesiredSize, getDesiredSizeUnsafe, getDesiredSizeUnchecked, getReady, WritableStreamDefaultWriter(..), gTypeWritableStreamDefaultWriter, IsWritableStreamDefaultWriter, toWritableStreamDefaultWriter)
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) => { return new globalThis[\"WritableStreamDefaultWriter\"]($1); })"
js_newWritableStreamDefaultWriter :: WritableStream -> IO WritableStreamDefaultWriter
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/WritableStreamDefaultWriter MDN WritableStreamDefaultWriter. documentation>
newWritableStreamDefaultWriter :: (MonadDOM m, IsWritableStream stream) => stream -> m WritableStreamDefaultWriter
newWritableStreamDefaultWriter stream = liftDOM ((js_newWritableStreamDefaultWriter (Types.toWritableStream stream)))
foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"abort\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_abort :: WritableStreamDefaultWriter -> JSVal -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/abort MDN WritableStreamDefaultWriter.abort documentation>
abort :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> JSVal -> m ()
abort self reason = liftDOM (void (((js_abort ((Types.toWritableStreamDefaultWriter 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 :: WritableStreamDefaultWriter -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close MDN WritableStreamDefaultWriter.close documentation>
close :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m ()
close self = liftDOM (void (((js_close ((Types.toWritableStreamDefaultWriter self))) >>= checkPromiseResult)))
foreign import javascript safe "(($1) => { return $1[\"releaseLock\"](); })"
js_releaseLock :: WritableStreamDefaultWriter -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/releaseLock MDN WritableStreamDefaultWriter.releaseLock documentation>
releaseLock :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m ()
releaseLock self = liftDOM (void ((js_releaseLock ((Types.toWritableStreamDefaultWriter self)))))
foreign import javascript interruptible "(($1, $2, $c) => { return $1[\"write\"]($2).then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_write :: WritableStreamDefaultWriter -> JSVal -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/write MDN WritableStreamDefaultWriter.write documentation>
write :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> JSVal -> m ()
write self chunk = liftDOM (void (((js_write ((Types.toWritableStreamDefaultWriter self)) (chunk)) >>= checkPromiseResult)))
foreign import javascript interruptible "(($1, $c) => { return $1[\"closed\"].then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_getClosed :: WritableStreamDefaultWriter -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed MDN WritableStreamDefaultWriter.closed documentation>
getClosed :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m ()
getClosed self = liftDOM (void (((js_getClosed ((Types.toWritableStreamDefaultWriter self))) >>= checkPromiseResult)))
foreign import javascript unsafe "(($1) => { return $1[\"desiredSize\"]; })"
js_getDesiredSize :: WritableStreamDefaultWriter -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize MDN WritableStreamDefaultWriter.desiredSize documentation>
getDesiredSize :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m (Maybe Double)
getDesiredSize self = liftDOM (((js_getDesiredSize ((Types.toWritableStreamDefaultWriter self))) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize MDN WritableStreamDefaultWriter.desiredSize documentation>
getDesiredSizeUnsafe :: (MonadDOM m, IsWritableStreamDefaultWriter self, HasCallStack) => self -> m Double
getDesiredSizeUnsafe self = liftDOM ((((js_getDesiredSize ((Types.toWritableStreamDefaultWriter self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/desiredSize MDN WritableStreamDefaultWriter.desiredSize documentation>
getDesiredSizeUnchecked :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m Double
getDesiredSizeUnchecked self = liftDOM ((pFromJSVal <$> (js_getDesiredSize ((Types.toWritableStreamDefaultWriter self)))))
foreign import javascript interruptible "(($1, $c) => { return $1[\"ready\"].then(function(s) { $c(null, s);}, function(e) { $c(e, null);}); })"
js_getReady :: WritableStreamDefaultWriter -> IO (JSVal, ())
-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/ready MDN WritableStreamDefaultWriter.ready documentation>
getReady :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m ()
getReady self = liftDOM (void (((js_getReady ((Types.toWritableStreamDefaultWriter self))) >>= checkPromiseResult)))