packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/ScrollTimelineOptions.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from scroll-animations-1 (webref). Do not edit.
module JSDOM.Generated.ScrollTimelineOptions
       (newScrollTimelineOptions, setSource, getSource, getSourceUnsafe, getSourceUnchecked, setAxis, getAxis, getAxisUnsafe, getAxisUnchecked, ScrollTimelineOptions(..), gTypeScrollTimelineOptions)
       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/scroll-animations-1/#dictdef-scrolltimelineoptions ScrollTimelineOptions specification>
newScrollTimelineOptions :: (MonadDOM m) => m ScrollTimelineOptions
newScrollTimelineOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimelineoptions-source ScrollTimelineOptions.source specification>
setSource :: (MonadDOM m, IsElement val) => ScrollTimelineOptions -> Maybe val -> m ()
setSource self val = liftDOM (void (self ^. jss "source" (toJSVal val)))

-- | <https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimelineoptions-source ScrollTimelineOptions.source specification>
getSource :: (MonadDOM m) => ScrollTimelineOptions -> m (Maybe Element)
getSource self = liftDOM (((self ^. js "source") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimelineoptions-source ScrollTimelineOptions.source specification>
getSourceUnsafe :: (MonadDOM m, HasCallStack) => ScrollTimelineOptions -> m Element
getSourceUnsafe self = liftDOM ((((self ^. js "source") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimelineoptions-source ScrollTimelineOptions.source specification>
getSourceUnchecked :: (MonadDOM m) => ScrollTimelineOptions -> m Element
getSourceUnchecked self = liftDOM (((self ^. js "source") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimelineoptions-axis ScrollTimelineOptions.axis specification>
setAxis :: (MonadDOM m) => ScrollTimelineOptions -> ScrollAxis -> m ()
setAxis self val = liftDOM (void (self ^. jss "axis" (toJSVal val)))

-- | <https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimelineoptions-axis ScrollTimelineOptions.axis specification>
getAxis :: (MonadDOM m) => ScrollTimelineOptions -> m (Maybe ScrollAxis)
getAxis self = liftDOM (((self ^. js "axis") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimelineoptions-axis ScrollTimelineOptions.axis specification>
getAxisUnsafe :: (MonadDOM m, HasCallStack) => ScrollTimelineOptions -> m ScrollAxis
getAxisUnsafe self = liftDOM ((((self ^. js "axis") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimelineoptions-axis ScrollTimelineOptions.axis specification>
getAxisUnchecked :: (MonadDOM m) => ScrollTimelineOptions -> m ScrollAxis
getAxisUnchecked self = liftDOM (((self ^. js "axis") >>= fromJSValUnchecked))