packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/OptionalEffectTiming.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.OptionalEffectTiming
       (newOptionalEffectTiming, setDelay, getDelay, getDelayUnsafe, getDelayUnchecked, setEndDelay, getEndDelay, getEndDelayUnsafe, getEndDelayUnchecked, setFill, getFill, getFillUnsafe, getFillUnchecked, setIterationStart, getIterationStart, getIterationStartUnsafe, getIterationStartUnchecked, setIterations, getIterations, getIterationsUnsafe, getIterationsUnchecked, setDuration, getDuration, getDurationUnsafe, getDurationUnchecked, setDirection, getDirection, getDirectionUnsafe, getDirectionUnchecked, setEasing, getEasing, getEasingUnsafe, getEasingUnchecked, setPlaybackRate, getPlaybackRate, getPlaybackRateUnsafe, getPlaybackRateUnchecked, OptionalEffectTiming(..), gTypeOptionalEffectTiming)
       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-optionaleffecttiming OptionalEffectTiming specification>
newOptionalEffectTiming :: (MonadDOM m) => m OptionalEffectTiming
newOptionalEffectTiming = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-delay OptionalEffectTiming.delay specification>
setDelay :: (MonadDOM m) => OptionalEffectTiming -> Double -> m ()
setDelay self val = liftDOM (void (self ^. jss "delay" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-delay OptionalEffectTiming.delay specification>
getDelay :: (MonadDOM m) => OptionalEffectTiming -> m (Maybe Double)
getDelay self = liftDOM (((self ^. js "delay") >>= fromJSValUnchecked))

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

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-delay OptionalEffectTiming.delay specification>
getDelayUnchecked :: (MonadDOM m) => OptionalEffectTiming -> m Double
getDelayUnchecked self = liftDOM (((self ^. js "delay") >>= valToNumber))

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-enddelay OptionalEffectTiming.endDelay specification>
setEndDelay :: (MonadDOM m) => OptionalEffectTiming -> Double -> m ()
setEndDelay self val = liftDOM (void (self ^. jss "endDelay" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-enddelay OptionalEffectTiming.endDelay specification>
getEndDelay :: (MonadDOM m) => OptionalEffectTiming -> m (Maybe Double)
getEndDelay self = liftDOM (((self ^. js "endDelay") >>= fromJSValUnchecked))

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

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-enddelay OptionalEffectTiming.endDelay specification>
getEndDelayUnchecked :: (MonadDOM m) => OptionalEffectTiming -> m Double
getEndDelayUnchecked self = liftDOM (((self ^. js "endDelay") >>= valToNumber))

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

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

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

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-fill OptionalEffectTiming.fill specification>
getFillUnchecked :: (MonadDOM m) => OptionalEffectTiming -> m FillMode
getFillUnchecked self = liftDOM (((self ^. js "fill") >>= fromJSValUnchecked))

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

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

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

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

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

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

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

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-iterations OptionalEffectTiming.iterations specification>
getIterationsUnchecked :: (MonadDOM m) => OptionalEffectTiming -> m Double
getIterationsUnchecked self = liftDOM (((self ^. js "iterations") >>= valToNumber))

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-duration OptionalEffectTiming.duration specification>
setDuration :: (MonadDOM m, IsDoubleOrString val) => OptionalEffectTiming -> val -> m ()
setDuration self val = liftDOM (void (self ^. jss "duration" (toJSVal val)))

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-duration OptionalEffectTiming.duration specification>
getDuration :: (MonadDOM m) => OptionalEffectTiming -> m (Maybe DoubleOrString)
getDuration self = liftDOM (((self ^. js "duration") >>= fromJSValUnchecked))

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-duration OptionalEffectTiming.duration specification>
getDurationUnsafe :: (MonadDOM m, HasCallStack) => OptionalEffectTiming -> m DoubleOrString
getDurationUnsafe self = liftDOM ((((self ^. js "duration") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-duration OptionalEffectTiming.duration specification>
getDurationUnchecked :: (MonadDOM m) => OptionalEffectTiming -> m DoubleOrString
getDurationUnchecked self = liftDOM (((self ^. js "duration") >>= fromJSValUnchecked))

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

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

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

-- | <https://drafts.csswg.org/web-animations-1/#dom-optionaleffecttiming-direction OptionalEffectTiming.direction specification>
getDirectionUnchecked :: (MonadDOM m) => OptionalEffectTiming -> m PlaybackDirection
getDirectionUnchecked self = liftDOM (((self ^. js "direction") >>= fromJSValUnchecked))

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

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

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

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

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

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

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

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