jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ReadableStream.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.ReadableStream
(newReadableStream, cancel, getReader, getReader_, pipeThrough, pipeThrough_, pipeTo, tee, tee_, getLocked, ReadableStream(..), gTypeReadableStream, IsReadableStream, toReadableStream)
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/ReadableStream/ReadableStream MDN ReadableStream. documentation>
newReadableStream :: (MonadDOM m) => Maybe GObject -> Maybe QueuingStrategy -> m ReadableStream
newReadableStream underlyingSource strategy = liftDOM (((new (jsg "ReadableStream") [P.maybe (P.return jsUndefined) toJSVal underlyingSource, P.maybe (P.return jsUndefined) toJSVal strategy]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/cancel MDN ReadableStream.cancel documentation>
cancel :: (MonadDOM m, IsReadableStream self) => self -> JSVal -> m ()
cancel self reason = liftDOM (void ((((Types.toReadableStream self) ^. jsf "cancel" [toJSVal reason]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/getReader MDN ReadableStream.getReader documentation>
getReader :: (MonadDOM m, IsReadableStream self) => self -> Maybe ReadableStreamGetReaderOptions -> m ReadableStreamReader
getReader self options = liftDOM ((((Types.toReadableStream self) ^. jsf "getReader" [P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/getReader MDN ReadableStream.getReader documentation>
getReader_ :: (MonadDOM m, IsReadableStream self) => self -> Maybe ReadableStreamGetReaderOptions -> m ()
getReader_ self options = liftDOM (void ((Types.toReadableStream self) ^. jsf "getReader" [P.maybe (P.return jsUndefined) toJSVal options]))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/pipeThrough MDN ReadableStream.pipeThrough documentation>
pipeThrough :: (MonadDOM m, IsReadableStream self) => self -> ReadableWritablePair -> Maybe StreamPipeOptions -> m ReadableStream
pipeThrough self transform options = liftDOM ((((Types.toReadableStream self) ^. jsf "pipeThrough" [toJSVal transform, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/pipeThrough MDN ReadableStream.pipeThrough documentation>
pipeThrough_ :: (MonadDOM m, IsReadableStream self) => self -> ReadableWritablePair -> Maybe StreamPipeOptions -> m ()
pipeThrough_ self transform options = liftDOM (void ((Types.toReadableStream self) ^. jsf "pipeThrough" [toJSVal transform, P.maybe (P.return jsUndefined) toJSVal options]))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/pipeTo MDN ReadableStream.pipeTo documentation>
pipeTo :: (MonadDOM m, IsReadableStream self, IsWritableStream destination) => self -> destination -> Maybe StreamPipeOptions -> m ()
pipeTo self destination options = liftDOM (void ((((Types.toReadableStream self) ^. jsf "pipeTo" [toJSVal destination, P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/tee MDN ReadableStream.tee documentation>
tee :: (MonadDOM m, IsReadableStream self) => self -> m [ReadableStream]
tee self = liftDOM ((((Types.toReadableStream self) ^. jsf "tee" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/tee MDN ReadableStream.tee documentation>
tee_ :: (MonadDOM m, IsReadableStream self) => self -> m ()
tee_ self = liftDOM (void ((Types.toReadableStream self) ^. jsf "tee" ()))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableStream/locked MDN ReadableStream.locked documentation>
getLocked :: (MonadDOM m, IsReadableStream self) => self -> m Bool
getLocked self = liftDOM ((((Types.toReadableStream self) ^. js "locked") >>= valToBool))