jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ULongRange.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediacapture-streams (webref). Do not edit.
module JSDOM.Generated.ULongRange
(newULongRange, setMax, getMax, getMaxUnsafe, getMaxUnchecked, setMin, getMin, getMinUnsafe, getMinUnchecked, ULongRange(..), gTypeULongRange, IsULongRange, toULongRange)
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://w3c.github.io/mediacapture-main/#dom-ulongrange ULongRange specification>
newULongRange :: (MonadDOM m) => m ULongRange
newULongRange = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-main/#dom-ulongrange-max ULongRange.max specification>
setMax :: (MonadDOM m, IsULongRange self) => self -> Word -> m ()
setMax self val = liftDOM (void ((Types.toULongRange self) ^. jss "max" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-main/#dom-ulongrange-max ULongRange.max specification>
getMax :: (MonadDOM m, IsULongRange self) => self -> m (Maybe Word)
getMax self = liftDOM ((((Types.toULongRange self) ^. js "max") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-main/#dom-ulongrange-max ULongRange.max specification>
getMaxUnsafe :: (MonadDOM m, IsULongRange self, HasCallStack) => self -> m Word
getMaxUnsafe self = liftDOM (((((Types.toULongRange self) ^. js "max") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-main/#dom-ulongrange-max ULongRange.max specification>
getMaxUnchecked :: (MonadDOM m, IsULongRange self) => self -> m Word
getMaxUnchecked self = liftDOM ((P.round <$> (((Types.toULongRange self) ^. js "max") >>= valToNumber)))
-- | <https://w3c.github.io/mediacapture-main/#dom-ulongrange-min ULongRange.min specification>
setMin :: (MonadDOM m, IsULongRange self) => self -> Word -> m ()
setMin self val = liftDOM (void ((Types.toULongRange self) ^. jss "min" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-main/#dom-ulongrange-min ULongRange.min specification>
getMin :: (MonadDOM m, IsULongRange self) => self -> m (Maybe Word)
getMin self = liftDOM ((((Types.toULongRange self) ^. js "min") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-main/#dom-ulongrange-min ULongRange.min specification>
getMinUnsafe :: (MonadDOM m, IsULongRange self, HasCallStack) => self -> m Word
getMinUnsafe self = liftDOM (((((Types.toULongRange self) ^. js "min") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-main/#dom-ulongrange-min ULongRange.min specification>
getMinUnchecked :: (MonadDOM m, IsULongRange self) => self -> m Word
getMinUnchecked self = liftDOM ((P.round <$> (((Types.toULongRange self) ^. js "min") >>= valToNumber)))