packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from web-animations-1 (webref). Do not edit.
module JSDOM.Generated.EffectTiming
       (newEffectTiming, setFill, getFill, getFillUnsafe, getFillUnchecked, setIterationStart, getIterationStart, getIterationStartUnsafe, getIterationStartUnchecked, setIterations, getIterations, getIterationsUnsafe, getIterationsUnchecked, setDirection, getDirection, getDirectionUnsafe, getDirectionUnchecked, setEasing, getEasing, getEasingUnsafe, getEasingUnchecked, setDelay, getDelay, getDelayUnsafe, getDelayUnchecked, setEndDelay, getEndDelay, getEndDelayUnsafe, getEndDelayUnchecked, setPlaybackRate, getPlaybackRate, getPlaybackRateUnsafe, getPlaybackRateUnchecked, setDuration, getDuration, getDurationUnsafe, getDurationUnchecked, EffectTiming(..), gTypeEffectTiming, IsEffectTiming, toEffectTiming)
       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/web-animations-1/#dictdef-effecttiming EffectTiming specification>
newEffectTiming :: (MonadDOM m) => m EffectTiming
newEffectTiming = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-fill EffectTiming.fill specification>
setFill :: (MonadDOM m, IsEffectTiming self) => self -> FillMode -> m ()
setFill self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "fill" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-fill EffectTiming.fill specification>
getFill :: (MonadDOM m, IsEffectTiming self) => self -> m (Maybe FillMode)
getFill self = liftDOM ((((Types.toEffectTiming self) ^. js "fill") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-fill EffectTiming.fill specification>
getFillUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack) => self -> m FillMode
getFillUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "fill") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-fill EffectTiming.fill specification>
getFillUnchecked :: (MonadDOM m, IsEffectTiming self) => self -> m FillMode
getFillUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "fill") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-iterationstart EffectTiming.iterationStart specification>
setIterationStart :: (MonadDOM m, IsEffectTiming self) => self -> Double -> m ()
setIterationStart self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "iterationStart" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-iterationstart EffectTiming.iterationStart specification>
getIterationStart :: (MonadDOM m, IsEffectTiming self) => self -> m (Maybe Double)
getIterationStart self = liftDOM ((((Types.toEffectTiming self) ^. js "iterationStart") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-iterationstart EffectTiming.iterationStart specification>
getIterationStartUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack) => self -> m Double
getIterationStartUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "iterationStart") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-iterationstart EffectTiming.iterationStart specification>
getIterationStartUnchecked :: (MonadDOM m, IsEffectTiming self) => self -> m Double
getIterationStartUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "iterationStart") >>= valToNumber))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-iterations EffectTiming.iterations specification>
setIterations :: (MonadDOM m, IsEffectTiming self) => self -> Double -> m ()
setIterations self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "iterations" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-iterations EffectTiming.iterations specification>
getIterations :: (MonadDOM m, IsEffectTiming self) => self -> m (Maybe Double)
getIterations self = liftDOM ((((Types.toEffectTiming self) ^. js "iterations") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-iterations EffectTiming.iterations specification>
getIterationsUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack) => self -> m Double
getIterationsUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "iterations") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-iterations EffectTiming.iterations specification>
getIterationsUnchecked :: (MonadDOM m, IsEffectTiming self) => self -> m Double
getIterationsUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "iterations") >>= valToNumber))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-direction EffectTiming.direction specification>
setDirection :: (MonadDOM m, IsEffectTiming self) => self -> PlaybackDirection -> m ()
setDirection self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "direction" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-direction EffectTiming.direction specification>
getDirection :: (MonadDOM m, IsEffectTiming self) => self -> m (Maybe PlaybackDirection)
getDirection self = liftDOM ((((Types.toEffectTiming self) ^. js "direction") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-direction EffectTiming.direction specification>
getDirectionUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack) => self -> m PlaybackDirection
getDirectionUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "direction") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-direction EffectTiming.direction specification>
getDirectionUnchecked :: (MonadDOM m, IsEffectTiming self) => self -> m PlaybackDirection
getDirectionUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "direction") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-easing EffectTiming.easing specification>
setEasing :: (MonadDOM m, IsEffectTiming self, ToJSString val) => self -> val -> m ()
setEasing self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "easing" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-easing EffectTiming.easing specification>
getEasing :: (MonadDOM m, IsEffectTiming self, FromJSString result) => self -> m (Maybe result)
getEasing self = liftDOM ((((Types.toEffectTiming self) ^. js "easing") >>= fromMaybeJSString))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-easing EffectTiming.easing specification>
getEasingUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack, FromJSString result) => self -> m result
getEasingUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "easing") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-1/#dom-effecttiming-easing EffectTiming.easing specification>
getEasingUnchecked :: (MonadDOM m, IsEffectTiming self, FromJSString result) => self -> m result
getEasingUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "easing") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-delay EffectTiming.delay specification>
setDelay :: (MonadDOM m, IsEffectTiming self) => self -> Double -> m ()
setDelay self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "delay" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-delay EffectTiming.delay specification>
getDelay :: (MonadDOM m, IsEffectTiming self) => self -> m (Maybe Double)
getDelay self = liftDOM ((((Types.toEffectTiming self) ^. js "delay") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-delay EffectTiming.delay specification>
getDelayUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack) => self -> m Double
getDelayUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "delay") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-delay EffectTiming.delay specification>
getDelayUnchecked :: (MonadDOM m, IsEffectTiming self) => self -> m Double
getDelayUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "delay") >>= valToNumber))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-enddelay EffectTiming.endDelay specification>
setEndDelay :: (MonadDOM m, IsEffectTiming self) => self -> Double -> m ()
setEndDelay self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "endDelay" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-enddelay EffectTiming.endDelay specification>
getEndDelay :: (MonadDOM m, IsEffectTiming self) => self -> m (Maybe Double)
getEndDelay self = liftDOM ((((Types.toEffectTiming self) ^. js "endDelay") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-enddelay EffectTiming.endDelay specification>
getEndDelayUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack) => self -> m Double
getEndDelayUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "endDelay") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-enddelay EffectTiming.endDelay specification>
getEndDelayUnchecked :: (MonadDOM m, IsEffectTiming self) => self -> m Double
getEndDelayUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "endDelay") >>= valToNumber))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-playbackrate EffectTiming.playbackRate specification>
setPlaybackRate :: (MonadDOM m, IsEffectTiming self) => self -> Double -> m ()
setPlaybackRate self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "playbackRate" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-playbackrate EffectTiming.playbackRate specification>
getPlaybackRate :: (MonadDOM m, IsEffectTiming self) => self -> m (Maybe Double)
getPlaybackRate self = liftDOM ((((Types.toEffectTiming self) ^. js "playbackRate") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-playbackrate EffectTiming.playbackRate specification>
getPlaybackRateUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack) => self -> m Double
getPlaybackRateUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "playbackRate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-playbackrate EffectTiming.playbackRate specification>
getPlaybackRateUnchecked :: (MonadDOM m, IsEffectTiming self) => self -> m Double
getPlaybackRateUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "playbackRate") >>= valToNumber))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-duration EffectTiming.duration specification>
setDuration :: (MonadDOM m, IsEffectTiming self, IsDoubleOrCSSNumericValueOrString val) => self -> val -> m ()
setDuration self val = liftDOM (void ((Types.toEffectTiming self) ^. jss "duration" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-duration EffectTiming.duration specification>
getDuration :: (MonadDOM m, IsEffectTiming self) => self -> m (Maybe DoubleOrCSSNumericValueOrString)
getDuration self = liftDOM ((((Types.toEffectTiming self) ^. js "duration") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-duration EffectTiming.duration specification>
getDurationUnsafe :: (MonadDOM m, IsEffectTiming self, HasCallStack) => self -> m DoubleOrCSSNumericValueOrString
getDurationUnsafe self = liftDOM (((((Types.toEffectTiming self) ^. js "duration") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-2/#dom-effecttiming-duration EffectTiming.duration specification>
getDurationUnchecked :: (MonadDOM m, IsEffectTiming self) => self -> m DoubleOrCSSNumericValueOrString
getDurationUnchecked self = liftDOM ((((Types.toEffectTiming self) ^. js "duration") >>= fromJSValUnchecked))