packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaList.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.MediaList
       (appendMedium, deleteMedium, item, item_, itemUnsafe, itemUnchecked, setMediaText, getMediaText, getLength, MediaList(..), gTypeMediaList)
       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/MediaList/appendMedium MDN MediaList.appendMedium documentation>
appendMedium :: (MonadDOM m, ToJSString medium) => MediaList -> medium -> m ()
appendMedium self medium = liftDOM (void (self ^. jsf "appendMedium" [toJSVal medium]))

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

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

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

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

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

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

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