jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CSSRule.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from cssom-1 (webref). Do not edit.
module JSDOM.Generated.CSSRule
(setCssText, getCssText, getParentRule, getParentRuleUnsafe, getParentRuleUnchecked, getParentStyleSheet, getParentStyleSheetUnsafe, getParentStyleSheetUnchecked, getType, pattern STYLE_RULE, pattern CHARSET_RULE, pattern IMPORT_RULE, pattern MEDIA_RULE, pattern FONT_FACE_RULE, pattern PAGE_RULE, pattern MARGIN_RULE, pattern NAMESPACE_RULE, pattern KEYFRAMES_RULE, pattern KEYFRAME_RULE, pattern SUPPORTS_RULE, pattern COUNTER_STYLE_RULE, pattern FONT_FEATURE_VALUES_RULE, CSSRule(..), gTypeCSSRule, IsCSSRule, toCSSRule)
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/CSSRule/cssText MDN CSSRule.cssText documentation>
setCssText :: (MonadDOM m, IsCSSRule self, ToJSString val) => self -> val -> m ()
setCssText self val = liftDOM (void ((Types.toCSSRule self) ^. jss "cssText" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/CSSRule/cssText MDN CSSRule.cssText documentation>
getCssText :: (MonadDOM m, IsCSSRule self, FromJSString result) => self -> m result
getCssText self = liftDOM ((((Types.toCSSRule self) ^. js "cssText") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSRule/parentRule MDN CSSRule.parentRule documentation>
getParentRule :: (MonadDOM m, IsCSSRule self) => self -> m (Maybe CSSRule)
getParentRule self = liftDOM ((((Types.toCSSRule self) ^. js "parentRule") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSRule/parentRule MDN CSSRule.parentRule documentation>
getParentRuleUnsafe :: (MonadDOM m, IsCSSRule self, HasCallStack) => self -> m CSSRule
getParentRuleUnsafe self = liftDOM (((((Types.toCSSRule self) ^. js "parentRule") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/CSSRule/parentRule MDN CSSRule.parentRule documentation>
getParentRuleUnchecked :: (MonadDOM m, IsCSSRule self) => self -> m CSSRule
getParentRuleUnchecked self = liftDOM ((((Types.toCSSRule self) ^. js "parentRule") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSRule/parentStyleSheet MDN CSSRule.parentStyleSheet documentation>
getParentStyleSheet :: (MonadDOM m, IsCSSRule self) => self -> m (Maybe CSSStyleSheet)
getParentStyleSheet self = liftDOM ((((Types.toCSSRule self) ^. js "parentStyleSheet") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSRule/parentStyleSheet MDN CSSRule.parentStyleSheet documentation>
getParentStyleSheetUnsafe :: (MonadDOM m, IsCSSRule self, HasCallStack) => self -> m CSSStyleSheet
getParentStyleSheetUnsafe self = liftDOM (((((Types.toCSSRule self) ^. js "parentStyleSheet") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/CSSRule/parentStyleSheet MDN CSSRule.parentStyleSheet documentation>
getParentStyleSheetUnchecked :: (MonadDOM m, IsCSSRule self) => self -> m CSSStyleSheet
getParentStyleSheetUnchecked self = liftDOM ((((Types.toCSSRule self) ^. js "parentStyleSheet") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/CSSRule/type MDN CSSRule.type documentation>
getType :: (MonadDOM m, IsCSSRule self) => self -> m Word
getType self = liftDOM ((P.round <$> (((Types.toCSSRule self) ^. js "type") >>= valToNumber)))
pattern STYLE_RULE = 1
pattern CHARSET_RULE = 2
pattern IMPORT_RULE = 3
pattern MEDIA_RULE = 4
pattern FONT_FACE_RULE = 5
pattern PAGE_RULE = 6
pattern MARGIN_RULE = 9
pattern NAMESPACE_RULE = 10
pattern KEYFRAMES_RULE = 7
pattern KEYFRAME_RULE = 8
pattern SUPPORTS_RULE = 12
pattern COUNTER_STYLE_RULE = 11
pattern FONT_FEATURE_VALUES_RULE = 14