packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CSSStyleSheet.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.CSSStyleSheet
       (newCSSStyleSheet, addRule, addRule_, deleteRule, insertRule, insertRule_, insertRule', insertRule'_, removeRule, replace, replace_, replaceSync, getOwnerRule, getOwnerRuleUnsafe, getOwnerRuleUnchecked, getCssRules, getRules, CSSStyleSheet(..), gTypeCSSStyleSheet)
       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/CSSStyleSheet/CSSStyleSheet MDN CSSStyleSheet. documentation>
newCSSStyleSheet :: (MonadDOM m) => Maybe CSSStyleSheetInit -> m CSSStyleSheet
newCSSStyleSheet options = liftDOM (((new (jsg "CSSStyleSheet") [P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/addRule MDN CSSStyleSheet.addRule documentation>
addRule :: (MonadDOM m, ToJSString selector, ToJSString style) => CSSStyleSheet -> Maybe selector -> Maybe style -> Maybe Word -> m Int
addRule self selector style index = liftDOM ((P.round <$> ((self ^. jsf "addRule" [P.maybe (P.return jsUndefined) toJSVal selector, P.maybe (P.return jsUndefined) toJSVal style, P.maybe (P.return jsUndefined) toJSVal index]) >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/addRule MDN CSSStyleSheet.addRule documentation>
addRule_ :: (MonadDOM m, ToJSString selector, ToJSString style) => CSSStyleSheet -> Maybe selector -> Maybe style -> Maybe Word -> m ()
addRule_ self selector style index = liftDOM (void (self ^. jsf "addRule" [P.maybe (P.return jsUndefined) toJSVal selector, P.maybe (P.return jsUndefined) toJSVal style, P.maybe (P.return jsUndefined) toJSVal index]))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/deleteRule MDN CSSStyleSheet.deleteRule documentation>
deleteRule :: (MonadDOM m) => CSSStyleSheet -> Word -> m ()
deleteRule self index = liftDOM (void (self ^. jsf "deleteRule" [toJSVal index]))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/insertRule MDN CSSStyleSheet.insertRule documentation>
insertRule :: (MonadDOM m, ToJSString rule) => CSSStyleSheet -> rule -> m Word
insertRule self rule = liftDOM ((P.round <$> ((self ^. jsf "insertRule" [toJSVal rule]) >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/insertRule MDN CSSStyleSheet.insertRule documentation>
insertRule_ :: (MonadDOM m, ToJSString rule) => CSSStyleSheet -> rule -> m ()
insertRule_ self rule = liftDOM (void (self ^. jsf "insertRule" [toJSVal rule]))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/insertRule MDN CSSStyleSheet.insertRule documentation>
insertRule' :: (MonadDOM m, ToJSString rule) => CSSStyleSheet -> rule -> Maybe Word -> m Word
insertRule' self rule index = liftDOM ((P.round <$> ((self ^. jsf "insertRule" [toJSVal rule, P.maybe (P.return jsUndefined) toJSVal index]) >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/insertRule MDN CSSStyleSheet.insertRule documentation>
insertRule'_ :: (MonadDOM m, ToJSString rule) => CSSStyleSheet -> rule -> Maybe Word -> m ()
insertRule'_ self rule index = liftDOM (void (self ^. jsf "insertRule" [toJSVal rule, P.maybe (P.return jsUndefined) toJSVal index]))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/removeRule MDN CSSStyleSheet.removeRule documentation>
removeRule :: (MonadDOM m) => CSSStyleSheet -> Maybe Word -> m ()
removeRule self index = liftDOM (void (self ^. jsf "removeRule" [P.maybe (P.return jsUndefined) toJSVal index]))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/replace MDN CSSStyleSheet.replace documentation>
replace :: (MonadDOM m, ToJSString text) => CSSStyleSheet -> text -> m CSSStyleSheet
replace self text = liftDOM (((((self ^. jsf "replace" [toJSVal text]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/replace MDN CSSStyleSheet.replace documentation>
replace_ :: (MonadDOM m, ToJSString text) => CSSStyleSheet -> text -> m ()
replace_ self text = liftDOM (void (((self ^. jsf "replace" [toJSVal text]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/replaceSync MDN CSSStyleSheet.replaceSync documentation>
replaceSync :: (MonadDOM m, ToJSString text) => CSSStyleSheet -> text -> m ()
replaceSync self text = liftDOM (void (self ^. jsf "replaceSync" [toJSVal text]))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/ownerRule MDN CSSStyleSheet.ownerRule documentation>
getOwnerRule :: (MonadDOM m) => CSSStyleSheet -> m (Maybe CSSRule)
getOwnerRule self = liftDOM (((self ^. js "ownerRule") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/ownerRule MDN CSSStyleSheet.ownerRule documentation>
getOwnerRuleUnsafe :: (MonadDOM m, HasCallStack) => CSSStyleSheet -> m CSSRule
getOwnerRuleUnsafe self = liftDOM ((((self ^. js "ownerRule") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/ownerRule MDN CSSStyleSheet.ownerRule documentation>
getOwnerRuleUnchecked :: (MonadDOM m) => CSSStyleSheet -> m CSSRule
getOwnerRuleUnchecked self = liftDOM (((self ^. js "ownerRule") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/cssRules MDN CSSStyleSheet.cssRules documentation>
getCssRules :: (MonadDOM m) => CSSStyleSheet -> m CSSRuleList
getCssRules self = liftDOM (((self ^. js "cssRules") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/rules MDN CSSStyleSheet.rules documentation>
getRules :: (MonadDOM m) => CSSStyleSheet -> m CSSRuleList
getRules self = liftDOM (((self ^. js "rules") >>= fromJSValUnchecked))