jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ScrollToOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from cssom-view-1 (webref). Do not edit.
module JSDOM.Generated.ScrollToOptions
(newScrollToOptions, setLeft, getLeft, getLeftUnsafe, getLeftUnchecked, setTop, getTop, getTopUnsafe, getTopUnchecked, ScrollToOptions(..), gTypeScrollToOptions)
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://drafts.csswg.org/cssom-view-1/#dictdef-scrolltooptions ScrollToOptions specification>
newScrollToOptions :: (MonadDOM m) => m ScrollToOptions
newScrollToOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://drafts.csswg.org/cssom-view-1/#dom-scrolltooptions-left ScrollToOptions.left specification>
setLeft :: (MonadDOM m) => ScrollToOptions -> Double -> m ()
setLeft self val = liftDOM (void (self ^. jss "left" (toJSVal val)))
-- | <https://drafts.csswg.org/cssom-view-1/#dom-scrolltooptions-left ScrollToOptions.left specification>
getLeft :: (MonadDOM m) => ScrollToOptions -> m (Maybe Double)
getLeft self = liftDOM (((self ^. js "left") >>= fromJSValUnchecked))
-- | <https://drafts.csswg.org/cssom-view-1/#dom-scrolltooptions-left ScrollToOptions.left specification>
getLeftUnsafe :: (MonadDOM m, HasCallStack) => ScrollToOptions -> m Double
getLeftUnsafe self = liftDOM ((((self ^. js "left") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://drafts.csswg.org/cssom-view-1/#dom-scrolltooptions-left ScrollToOptions.left specification>
getLeftUnchecked :: (MonadDOM m) => ScrollToOptions -> m Double
getLeftUnchecked self = liftDOM (((self ^. js "left") >>= valToNumber))
-- | <https://drafts.csswg.org/cssom-view-1/#dom-scrolltooptions-top ScrollToOptions.top specification>
setTop :: (MonadDOM m) => ScrollToOptions -> Double -> m ()
setTop self val = liftDOM (void (self ^. jss "top" (toJSVal val)))
-- | <https://drafts.csswg.org/cssom-view-1/#dom-scrolltooptions-top ScrollToOptions.top specification>
getTop :: (MonadDOM m) => ScrollToOptions -> m (Maybe Double)
getTop self = liftDOM (((self ^. js "top") >>= fromJSValUnchecked))
-- | <https://drafts.csswg.org/cssom-view-1/#dom-scrolltooptions-top ScrollToOptions.top specification>
getTopUnsafe :: (MonadDOM m, HasCallStack) => ScrollToOptions -> m Double
getTopUnsafe self = liftDOM ((((self ^. js "top") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://drafts.csswg.org/cssom-view-1/#dom-scrolltooptions-top ScrollToOptions.top specification>
getTopUnchecked :: (MonadDOM m) => ScrollToOptions -> m Double
getTopUnchecked self = liftDOM (((self ^. js "top") >>= valToNumber))