jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CSSKeyframesRule.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from css-animations-1 (webref). Do not edit.
module JSDOM.Generated.CSSKeyframesRule
(appendRule, deleteRule, findRule, findRule_, findRuleUnsafe, findRuleUnchecked, setName, getName, getCssRules, getLength, CSSKeyframesRule(..), gTypeCSSKeyframesRule)
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/CSSKeyframesRule/appendRule MDN CSSKeyframesRule.appendRule documentation>
appendRule :: (MonadDOM m, ToJSString rule) => CSSKeyframesRule -> rule -> m ()
appendRule self rule = liftDOM (void (self ^. jsf "appendRule" [toJSVal rule]))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/deleteRule MDN CSSKeyframesRule.deleteRule documentation>
deleteRule :: (MonadDOM m, ToJSString select) => CSSKeyframesRule -> select -> m ()
deleteRule self select = liftDOM (void (self ^. jsf "deleteRule" [toJSVal select]))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/findRule MDN CSSKeyframesRule.findRule documentation>
findRule :: (MonadDOM m, ToJSString select) => CSSKeyframesRule -> select -> m (Maybe CSSKeyframeRule)
findRule self select = liftDOM (((self ^. jsf "findRule" [toJSVal select]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/findRule MDN CSSKeyframesRule.findRule documentation>
findRule_ :: (MonadDOM m, ToJSString select) => CSSKeyframesRule -> select -> m ()
findRule_ self select = liftDOM (void (self ^. jsf "findRule" [toJSVal select]))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/findRule MDN CSSKeyframesRule.findRule documentation>
findRuleUnsafe :: (MonadDOM m, ToJSString select, HasCallStack) => CSSKeyframesRule -> select -> m CSSKeyframeRule
findRuleUnsafe self select = liftDOM ((((self ^. jsf "findRule" [toJSVal select]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/findRule MDN CSSKeyframesRule.findRule documentation>
findRuleUnchecked :: (MonadDOM m, ToJSString select) => CSSKeyframesRule -> select -> m CSSKeyframeRule
findRuleUnchecked self select = liftDOM (((self ^. jsf "findRule" [toJSVal select]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/name MDN CSSKeyframesRule.name documentation>
setName :: (MonadDOM m, ToJSString val) => CSSKeyframesRule -> val -> m ()
setName self val = liftDOM (void (self ^. jss "name" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/name MDN CSSKeyframesRule.name documentation>
getName :: (MonadDOM m, FromJSString result) => CSSKeyframesRule -> m result
getName self = liftDOM (((self ^. js "name") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/cssRules MDN CSSKeyframesRule.cssRules documentation>
getCssRules :: (MonadDOM m) => CSSKeyframesRule -> m CSSRuleList
getCssRules self = liftDOM (((self ^. js "cssRules") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSKeyframesRule/length MDN CSSKeyframesRule.length documentation>
getLength :: (MonadDOM m) => CSSKeyframesRule -> m Word
getLength self = liftDOM ((P.round <$> ((self ^. js "length") >>= valToNumber)))