packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Animatable.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.Animatable
       (animate, animate_, getAnimations, getAnimations_, getAnimations', getAnimations'_, Animatable(..), gTypeAnimatable, IsAnimatable, toAnimatable)
       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/Element/animate MDN Animatable.animate documentation>
animate :: (MonadDOM m, IsAnimatable self, IsDoubleOrKeyframeAnimationOptions options) => self -> Maybe GObject -> Maybe options -> m Animation
animate self keyframes options = liftDOM ((((Types.toAnimatable self) ^. jsf "animate" [toJSVal keyframes, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/animate MDN Animatable.animate documentation>
animate_ :: (MonadDOM m, IsAnimatable self, IsDoubleOrKeyframeAnimationOptions options) => self -> Maybe GObject -> Maybe options -> m ()
animate_ self keyframes options = liftDOM (void ((Types.toAnimatable self) ^. jsf "animate" [toJSVal keyframes, P.maybe (P.return jsUndefined) toJSVal options]))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAnimations MDN Animatable.getAnimations documentation>
getAnimations :: (MonadDOM m, IsAnimatable self) => self -> m [Animation]
getAnimations self = liftDOM ((((Types.toAnimatable self) ^. jsf "getAnimations" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAnimations MDN Animatable.getAnimations documentation>
getAnimations_ :: (MonadDOM m, IsAnimatable self) => self -> m ()
getAnimations_ self = liftDOM (void ((Types.toAnimatable self) ^. jsf "getAnimations" ()))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAnimations MDN Animatable.getAnimations documentation>
getAnimations' :: (MonadDOM m, IsAnimatable self) => self -> Maybe GetAnimationsOptions -> m [Animation]
getAnimations' self options = liftDOM ((((Types.toAnimatable self) ^. jsf "getAnimations" [P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Element/getAnimations MDN Animatable.getAnimations documentation>
getAnimations'_ :: (MonadDOM m, IsAnimatable self) => self -> Maybe GetAnimationsOptions -> m ()
getAnimations'_ self options = liftDOM (void ((Types.toAnimatable self) ^. jsf "getAnimations" [P.maybe (P.return jsUndefined) toJSVal options]))