packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/DoubleRange.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.DoubleRange
       (newDoubleRange, setMax, getMax, getMaxUnsafe, getMaxUnchecked, setMin, getMin, getMinUnsafe, getMinUnchecked, DoubleRange(..), gTypeDoubleRange, IsDoubleRange, toDoubleRange)
       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-doublerange DoubleRange specification>
newDoubleRange :: (MonadDOM m) => m DoubleRange
newDoubleRange = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-doublerange-max DoubleRange.max specification>
setMax :: (MonadDOM m, IsDoubleRange self) => self -> Double -> m ()
setMax self val = liftDOM (void ((Types.toDoubleRange self) ^. jss "max" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-main/#dom-doublerange-max DoubleRange.max specification>
getMax :: (MonadDOM m, IsDoubleRange self) => self -> m (Maybe Double)
getMax self = liftDOM ((((Types.toDoubleRange self) ^. js "max") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-doublerange-max DoubleRange.max specification>
getMaxUnsafe :: (MonadDOM m, IsDoubleRange self, HasCallStack) => self -> m Double
getMaxUnsafe self = liftDOM (((((Types.toDoubleRange self) ^. js "max") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-main/#dom-doublerange-max DoubleRange.max specification>
getMaxUnchecked :: (MonadDOM m, IsDoubleRange self) => self -> m Double
getMaxUnchecked self = liftDOM ((((Types.toDoubleRange self) ^. js "max") >>= valToNumber))

-- | <https://w3c.github.io/mediacapture-main/#dom-doublerange-min DoubleRange.min specification>
setMin :: (MonadDOM m, IsDoubleRange self) => self -> Double -> m ()
setMin self val = liftDOM (void ((Types.toDoubleRange self) ^. jss "min" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-main/#dom-doublerange-min DoubleRange.min specification>
getMin :: (MonadDOM m, IsDoubleRange self) => self -> m (Maybe Double)
getMin self = liftDOM ((((Types.toDoubleRange self) ^. js "min") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-doublerange-min DoubleRange.min specification>
getMinUnsafe :: (MonadDOM m, IsDoubleRange self, HasCallStack) => self -> m Double
getMinUnsafe self = liftDOM (((((Types.toDoubleRange self) ^. js "min") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-main/#dom-doublerange-min DoubleRange.min specification>
getMinUnchecked :: (MonadDOM m, IsDoubleRange self) => self -> m Double
getMinUnchecked self = liftDOM ((((Types.toDoubleRange self) ^. js "min") >>= valToNumber))