packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ReadableStreamDefaultController.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.ReadableStreamDefaultController
       (close, enqueue, error, getDesiredSize, getDesiredSizeUnsafe, getDesiredSizeUnchecked, ReadableStreamDefaultController(..), gTypeReadableStreamDefaultController)
       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/ReadableStreamDefaultController/close MDN ReadableStreamDefaultController.close documentation>
close :: (MonadDOM m) => ReadableStreamDefaultController -> m ()
close self = liftDOM (void (self ^. jsf "close" ()))

-- | <https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/enqueue MDN ReadableStreamDefaultController.enqueue documentation>
enqueue :: (MonadDOM m) => ReadableStreamDefaultController -> JSVal -> m ()
enqueue self chunk = liftDOM (void (self ^. jsf "enqueue" [toJSVal chunk]))

-- | <https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/error MDN ReadableStreamDefaultController.error documentation>
error :: (MonadDOM m) => ReadableStreamDefaultController -> JSVal -> m ()
error self e = liftDOM (void (self ^. jsf "error" [toJSVal e]))

-- | <https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/desiredSize MDN ReadableStreamDefaultController.desiredSize documentation>
getDesiredSize :: (MonadDOM m) => ReadableStreamDefaultController -> m (Maybe Double)
getDesiredSize self = liftDOM (((self ^. js "desiredSize") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultController/desiredSize MDN ReadableStreamDefaultController.desiredSize documentation>
getDesiredSizeUnsafe :: (MonadDOM m, HasCallStack) => ReadableStreamDefaultController -> 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/ReadableStreamDefaultController/desiredSize MDN ReadableStreamDefaultController.desiredSize documentation>
getDesiredSizeUnchecked :: (MonadDOM m) => ReadableStreamDefaultController -> m Double
getDesiredSizeUnchecked self = liftDOM (((self ^. js "desiredSize") >>= valToNumber))