packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ConstrainDoubleRange.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.ConstrainDoubleRange
       (newConstrainDoubleRange, setExact, getExact, getExactUnsafe, getExactUnchecked, setIdeal, getIdeal, getIdealUnsafe, getIdealUnchecked, ConstrainDoubleRange(..), gTypeConstrainDoubleRange)
       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-constraindoublerange ConstrainDoubleRange specification>
newConstrainDoubleRange :: (MonadDOM m) => m ConstrainDoubleRange
newConstrainDoubleRange = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-constraindoublerange-exact ConstrainDoubleRange.exact specification>
setExact :: (MonadDOM m) => ConstrainDoubleRange -> Double -> m ()
setExact self val = liftDOM (void (self ^. jss "exact" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-main/#dom-constraindoublerange-exact ConstrainDoubleRange.exact specification>
getExact :: (MonadDOM m) => ConstrainDoubleRange -> m (Maybe Double)
getExact self = liftDOM (((self ^. js "exact") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-constraindoublerange-exact ConstrainDoubleRange.exact specification>
getExactUnsafe :: (MonadDOM m, HasCallStack) => ConstrainDoubleRange -> m Double
getExactUnsafe self = liftDOM ((((self ^. js "exact") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-main/#dom-constraindoublerange-exact ConstrainDoubleRange.exact specification>
getExactUnchecked :: (MonadDOM m) => ConstrainDoubleRange -> m Double
getExactUnchecked self = liftDOM (((self ^. js "exact") >>= valToNumber))

-- | <https://w3c.github.io/mediacapture-main/#dom-constraindoublerange-ideal ConstrainDoubleRange.ideal specification>
setIdeal :: (MonadDOM m) => ConstrainDoubleRange -> Double -> m ()
setIdeal self val = liftDOM (void (self ^. jss "ideal" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-main/#dom-constraindoublerange-ideal ConstrainDoubleRange.ideal specification>
getIdeal :: (MonadDOM m) => ConstrainDoubleRange -> m (Maybe Double)
getIdeal self = liftDOM (((self ^. js "ideal") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-constraindoublerange-ideal ConstrainDoubleRange.ideal specification>
getIdealUnsafe :: (MonadDOM m, HasCallStack) => ConstrainDoubleRange -> m Double
getIdealUnsafe self = liftDOM ((((self ^. js "ideal") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-main/#dom-constraindoublerange-ideal ConstrainDoubleRange.ideal specification>
getIdealUnchecked :: (MonadDOM m) => ConstrainDoubleRange -> m Double
getIdealUnchecked self = liftDOM (((self ^. js "ideal") >>= valToNumber))