jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ReadableByteStreamController.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.ReadableByteStreamController
(close, enqueue, error, getByobRequest, getByobRequestUnsafe, getByobRequestUnchecked, getDesiredSize, getDesiredSizeUnsafe, getDesiredSizeUnchecked, ReadableByteStreamController(..), gTypeReadableByteStreamController)
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/ReadableByteStreamController/close MDN ReadableByteStreamController.close documentation>
close :: (MonadDOM m) => ReadableByteStreamController -> m ()
close self = liftDOM (void (self ^. jsf "close" ()))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/enqueue MDN ReadableByteStreamController.enqueue documentation>
enqueue :: (MonadDOM m, IsArrayBufferView chunk) => ReadableByteStreamController -> chunk -> m ()
enqueue self chunk = liftDOM (void (self ^. jsf "enqueue" [toJSVal chunk]))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/error MDN ReadableByteStreamController.error documentation>
error :: (MonadDOM m) => ReadableByteStreamController -> JSVal -> m ()
error self e = liftDOM (void (self ^. jsf "error" [toJSVal e]))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/byobRequest MDN ReadableByteStreamController.byobRequest documentation>
getByobRequest :: (MonadDOM m) => ReadableByteStreamController -> m (Maybe ReadableStreamBYOBRequest)
getByobRequest self = liftDOM (((self ^. js "byobRequest") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/byobRequest MDN ReadableByteStreamController.byobRequest documentation>
getByobRequestUnsafe :: (MonadDOM m, HasCallStack) => ReadableByteStreamController -> m ReadableStreamBYOBRequest
getByobRequestUnsafe self = liftDOM ((((self ^. js "byobRequest") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/byobRequest MDN ReadableByteStreamController.byobRequest documentation>
getByobRequestUnchecked :: (MonadDOM m) => ReadableByteStreamController -> m ReadableStreamBYOBRequest
getByobRequestUnchecked self = liftDOM (((self ^. js "byobRequest") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/desiredSize MDN ReadableByteStreamController.desiredSize documentation>
getDesiredSize :: (MonadDOM m) => ReadableByteStreamController -> m (Maybe Double)
getDesiredSize self = liftDOM (((self ^. js "desiredSize") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/desiredSize MDN ReadableByteStreamController.desiredSize documentation>
getDesiredSizeUnsafe :: (MonadDOM m, HasCallStack) => ReadableByteStreamController -> m Double
getDesiredSizeUnsafe self = liftDOM ((((self ^. js "desiredSize") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/ReadableByteStreamController/desiredSize MDN ReadableByteStreamController.desiredSize documentation>
getDesiredSizeUnchecked :: (MonadDOM m) => ReadableByteStreamController -> m Double
getDesiredSizeUnchecked self = liftDOM (((self ^. js "desiredSize") >>= valToNumber))