jsaddle-dom-0.10.0.0: src/JSDOM/Generated/QueuingStrategy.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.QueuingStrategy
(newQueuingStrategy, setHighWaterMark, getHighWaterMark, getHighWaterMarkUnsafe, getHighWaterMarkUnchecked, setSize, QueuingStrategy(..), gTypeQueuingStrategy)
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://streams.spec.whatwg.org/#dictdef-queuingstrategy QueuingStrategy specification>
newQueuingStrategy :: (MonadDOM m) => m QueuingStrategy
newQueuingStrategy = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://streams.spec.whatwg.org/#dom-queuingstrategy-highwatermark QueuingStrategy.highWaterMark specification>
setHighWaterMark :: (MonadDOM m) => QueuingStrategy -> Double -> m ()
setHighWaterMark self val = liftDOM (void (self ^. jss "highWaterMark" (toJSVal val)))
-- | <https://streams.spec.whatwg.org/#dom-queuingstrategy-highwatermark QueuingStrategy.highWaterMark specification>
getHighWaterMark :: (MonadDOM m) => QueuingStrategy -> m (Maybe Double)
getHighWaterMark self = liftDOM (((self ^. js "highWaterMark") >>= fromJSValUnchecked))
-- | <https://streams.spec.whatwg.org/#dom-queuingstrategy-highwatermark QueuingStrategy.highWaterMark specification>
getHighWaterMarkUnsafe :: (MonadDOM m, HasCallStack) => QueuingStrategy -> m Double
getHighWaterMarkUnsafe self = liftDOM ((((self ^. js "highWaterMark") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://streams.spec.whatwg.org/#dom-queuingstrategy-highwatermark QueuingStrategy.highWaterMark specification>
getHighWaterMarkUnchecked :: (MonadDOM m) => QueuingStrategy -> m Double
getHighWaterMarkUnchecked self = liftDOM (((self ^. js "highWaterMark") >>= valToNumber))
-- | <https://streams.spec.whatwg.org/#dom-queuingstrategy-size QueuingStrategy.size specification>
setSize :: (MonadDOM m) => QueuingStrategy -> QueuingStrategySize -> m ()
setSize self val = liftDOM (void (self ^. jss "size" (toJSVal val)))