{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.ReadableStream (newReadableStream, read, cancel, pipeTo, pipeThrough, getState, getClosed, getReady, ReadableStream, castToReadableStream, gTypeReadableStream) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | newReadableStream :: (MonadDOM m) => JSVal -> m ReadableStream newReadableStream properties = liftDOM (ReadableStream <$> new (jsg "ReadableStream") [toJSVal properties]) -- | read :: (MonadDOM m) => ReadableStream -> m (Maybe GObject) read self = liftDOM ((self ^. js "read") >>= fromJSVal) -- | cancel :: (MonadDOM m, ToJSString reason) => ReadableStream -> reason -> m (Maybe Promise) cancel self reason = liftDOM ((self ^. jsf "cancel" [toJSVal reason]) >>= fromJSVal) -- | pipeTo :: (MonadDOM m) => ReadableStream -> JSVal -> JSVal -> m (Maybe Promise) pipeTo self streams options = liftDOM ((self ^. jsf "pipeTo" [toJSVal streams, toJSVal options]) >>= fromJSVal) -- | pipeThrough :: (MonadDOM m) => ReadableStream -> JSVal -> JSVal -> m (Maybe GObject) pipeThrough self dest options = liftDOM ((self ^. jsf "pipeThrough" [toJSVal dest, toJSVal options]) >>= fromJSVal) -- | getState :: (MonadDOM m) => ReadableStream -> m ReadableStreamStateType getState self = liftDOM ((self ^. js "state") >>= fromJSValUnchecked) -- | getClosed :: (MonadDOM m) => ReadableStream -> m (Maybe Promise) getClosed self = liftDOM ((self ^. js "closed") >>= fromJSVal) -- | getReady :: (MonadDOM m) => ReadableStream -> m (Maybe Promise) getReady self = liftDOM ((self ^. js "ready") >>= fromJSVal)