jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CSSUnitValue.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from css-typed-om-1 (webref). Do not edit.
module JSDOM.Generated.CSSUnitValue
(newCSSUnitValue, setValue, getValue, getUnit, CSSUnitValue(..), gTypeCSSUnitValue)
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://developer.mozilla.org/docs/Web/API/CSSUnitValue/CSSUnitValue MDN CSSUnitValue. documentation>
newCSSUnitValue :: (MonadDOM m, ToJSString unit) => Double -> unit -> m CSSUnitValue
newCSSUnitValue value unit = liftDOM (((new (jsg "CSSUnitValue") [toJSVal value, toJSVal unit]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSUnitValue/value MDN CSSUnitValue.value documentation>
setValue :: (MonadDOM m) => CSSUnitValue -> Double -> m ()
setValue self val = liftDOM (void (self ^. jss "value" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/CSSUnitValue/value MDN CSSUnitValue.value documentation>
getValue :: (MonadDOM m) => CSSUnitValue -> m Double
getValue self = liftDOM (((self ^. js "value") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/CSSUnitValue/unit MDN CSSUnitValue.unit documentation>
getUnit :: (MonadDOM m, FromJSString result) => CSSUnitValue -> m result
getUnit self = liftDOM (((self ^. js "unit") >>= fromJSValUnchecked))