jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ConstrainULongRange.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.ConstrainULongRange
(newConstrainULongRange, setExact, getExact, getExactUnsafe, getExactUnchecked, setIdeal, getIdeal, getIdealUnsafe, getIdealUnchecked, ConstrainULongRange(..), gTypeConstrainULongRange)
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-constrainulongrange ConstrainULongRange specification>
newConstrainULongRange :: (MonadDOM m) => m ConstrainULongRange
newConstrainULongRange = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-main/#dom-constrainulongrange-exact ConstrainULongRange.exact specification>
setExact :: (MonadDOM m) => ConstrainULongRange -> Word -> m ()
setExact self val = liftDOM (void (self ^. jss "exact" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-main/#dom-constrainulongrange-exact ConstrainULongRange.exact specification>
getExact :: (MonadDOM m) => ConstrainULongRange -> m (Maybe Word)
getExact self = liftDOM (((self ^. js "exact") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-main/#dom-constrainulongrange-exact ConstrainULongRange.exact specification>
getExactUnsafe :: (MonadDOM m, HasCallStack) => ConstrainULongRange -> m Word
getExactUnsafe self = liftDOM ((((self ^. js "exact") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-main/#dom-constrainulongrange-exact ConstrainULongRange.exact specification>
getExactUnchecked :: (MonadDOM m) => ConstrainULongRange -> m Word
getExactUnchecked self = liftDOM ((P.round <$> ((self ^. js "exact") >>= valToNumber)))
-- | <https://w3c.github.io/mediacapture-main/#dom-constrainulongrange-ideal ConstrainULongRange.ideal specification>
setIdeal :: (MonadDOM m) => ConstrainULongRange -> Word -> m ()
setIdeal self val = liftDOM (void (self ^. jss "ideal" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-main/#dom-constrainulongrange-ideal ConstrainULongRange.ideal specification>
getIdeal :: (MonadDOM m) => ConstrainULongRange -> m (Maybe Word)
getIdeal self = liftDOM (((self ^. js "ideal") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-main/#dom-constrainulongrange-ideal ConstrainULongRange.ideal specification>
getIdealUnsafe :: (MonadDOM m, HasCallStack) => ConstrainULongRange -> m Word
getIdealUnsafe self = liftDOM ((((self ^. js "ideal") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-main/#dom-constrainulongrange-ideal ConstrainULongRange.ideal specification>
getIdealUnchecked :: (MonadDOM m) => ConstrainULongRange -> m Word
getIdealUnchecked self = liftDOM ((P.round <$> ((self ^. js "ideal") >>= valToNumber)))