packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/DOMTokenList.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module JSDOM.Generated.DOMTokenList
       (add, contains, contains_, item, item_, itemUnsafe, itemUnchecked, remove, replace, replace_, supports, supports_, toggle, toggle_, getLength, setValue, getValue, DOMTokenList(..), gTypeDOMTokenList)
       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/DOMTokenList/add MDN DOMTokenList.add documentation>
add :: (MonadDOM m, ToJSString tokens) => DOMTokenList -> [tokens] -> m ()
add self tokens = liftDOM (void (self ^. jsf "add" ([] ++ P.map toJSVal tokens)))

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/contains MDN DOMTokenList.contains documentation>
contains :: (MonadDOM m, ToJSString token) => DOMTokenList -> token -> m Bool
contains self token = liftDOM (((self ^. jsf "contains" [toJSVal token]) >>= valToBool))

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

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/item MDN DOMTokenList.item documentation>
item :: (MonadDOM m, FromJSString result) => DOMTokenList -> Word -> m (Maybe result)
item self index = liftDOM (((self ^. jsf "item" [toJSVal index]) >>= fromMaybeJSString))

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

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/item MDN DOMTokenList.item documentation>
itemUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => DOMTokenList -> Word -> m result
itemUnsafe self index = liftDOM ((((self ^. jsf "item" [toJSVal index]) >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/item MDN DOMTokenList.item documentation>
itemUnchecked :: (MonadDOM m, FromJSString result) => DOMTokenList -> Word -> m result
itemUnchecked self index = liftDOM (((self ^. jsf "item" [toJSVal index]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/remove MDN DOMTokenList.remove documentation>
remove :: (MonadDOM m, ToJSString tokens) => DOMTokenList -> [tokens] -> m ()
remove self tokens = liftDOM (void (self ^. jsf "remove" ([] ++ P.map toJSVal tokens)))

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/replace MDN DOMTokenList.replace documentation>
replace :: (MonadDOM m, ToJSString token, ToJSString newToken) => DOMTokenList -> token -> newToken -> m Bool
replace self token newToken = liftDOM (((self ^. jsf "replace" [toJSVal token, toJSVal newToken]) >>= valToBool))

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

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/supports MDN DOMTokenList.supports documentation>
supports :: (MonadDOM m, ToJSString token) => DOMTokenList -> token -> m Bool
supports self token = liftDOM (((self ^. jsf "supports" [toJSVal token]) >>= valToBool))

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

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/toggle MDN DOMTokenList.toggle documentation>
toggle :: (MonadDOM m, ToJSString token) => DOMTokenList -> token -> Maybe Bool -> m Bool
toggle self token force = liftDOM (((self ^. jsf "toggle" [toJSVal token, P.maybe (P.return jsUndefined) toJSVal force]) >>= valToBool))

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/toggle MDN DOMTokenList.toggle documentation>
toggle_ :: (MonadDOM m, ToJSString token) => DOMTokenList -> token -> Maybe Bool -> m ()
toggle_ self token force = liftDOM (void (self ^. jsf "toggle" [toJSVal token, P.maybe (P.return jsUndefined) toJSVal force]))

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/length MDN DOMTokenList.length documentation>
getLength :: (MonadDOM m) => DOMTokenList -> m Word
getLength self = liftDOM ((P.round <$> ((self ^. js "length") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/value MDN DOMTokenList.value documentation>
setValue :: (MonadDOM m, ToJSString val) => DOMTokenList -> val -> m ()
setValue self val = liftDOM (void (self ^. jss "value" (toJSVal val)))

-- | <https://developer.mozilla.org/docs/Web/API/DOMTokenList/value MDN DOMTokenList.value documentation>
getValue :: (MonadDOM m, FromJSString result) => DOMTokenList -> m result
getValue self = liftDOM (((self ^. js "value") >>= fromJSValUnchecked))