packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/WritableStreamDefaultWriter.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from streams (webref). Do not edit.
module JSDOM.Generated.WritableStreamDefaultWriter
       (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 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/WritableStreamDefaultWriter/WritableStreamDefaultWriter MDN WritableStreamDefaultWriter. documentation>
newWritableStreamDefaultWriter :: (MonadDOM m, IsWritableStream stream) => stream -> m WritableStreamDefaultWriter
newWritableStreamDefaultWriter stream = liftDOM (((new (jsg "WritableStreamDefaultWriter") [toJSVal stream]) >>= fromJSValUnchecked))

-- | <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 ((((Types.toWritableStreamDefaultWriter self) ^. jsf "abort" [toJSVal reason]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/close MDN WritableStreamDefaultWriter.close documentation>
close :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m ()
close self = liftDOM (void ((((Types.toWritableStreamDefaultWriter self) ^. jsf "close" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/releaseLock MDN WritableStreamDefaultWriter.releaseLock documentation>
releaseLock :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m ()
releaseLock self = liftDOM (void ((Types.toWritableStreamDefaultWriter self) ^. jsf "releaseLock" ()))

-- | <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 ((((Types.toWritableStreamDefaultWriter self) ^. jsf "write" [toJSVal chunk]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/closed MDN WritableStreamDefaultWriter.closed documentation>
getClosed :: (MonadDOM m, IsWritableStreamDefaultWriter self) => self -> m ()
getClosed self = liftDOM (void ((((Types.toWritableStreamDefaultWriter self) ^. js "closed") >>= readPromise)))

-- | <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 ((((Types.toWritableStreamDefaultWriter self) ^. js "desiredSize") >>= 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 (((((Types.toWritableStreamDefaultWriter self) ^. js "desiredSize") >>= 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 ((((Types.toWritableStreamDefaultWriter self) ^. js "desiredSize") >>= valToNumber))

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