jsaddle-dom-0.10.0.0: src/JSDOM/Generated/TextTrackList.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.TextTrackList
(getTrackById, getTrackById_, getTrackByIdUnsafe, getTrackByIdUnchecked, getLength, change, addTrack, removeTrack, TextTrackList(..), gTypeTextTrackList)
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/TextTrackList/getTrackById MDN TextTrackList.getTrackById documentation>
getTrackById :: (MonadDOM m, ToJSString id) => TextTrackList -> id -> m (Maybe TextTrack)
getTrackById self id = liftDOM (((self ^. jsf "getTrackById" [toJSVal id]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrackList/getTrackById MDN TextTrackList.getTrackById documentation>
getTrackById_ :: (MonadDOM m, ToJSString id) => TextTrackList -> id -> m ()
getTrackById_ self id = liftDOM (void (self ^. jsf "getTrackById" [toJSVal id]))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrackList/getTrackById MDN TextTrackList.getTrackById documentation>
getTrackByIdUnsafe :: (MonadDOM m, ToJSString id, HasCallStack) => TextTrackList -> id -> m TextTrack
getTrackByIdUnsafe self id = liftDOM ((((self ^. jsf "getTrackById" [toJSVal id]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrackList/getTrackById MDN TextTrackList.getTrackById documentation>
getTrackByIdUnchecked :: (MonadDOM m, ToJSString id) => TextTrackList -> id -> m TextTrack
getTrackByIdUnchecked self id = liftDOM (((self ^. jsf "getTrackById" [toJSVal id]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrackList/length MDN TextTrackList.length documentation>
getLength :: (MonadDOM m) => TextTrackList -> m Word
getLength self = liftDOM ((P.round <$> ((self ^. js "length") >>= valToNumber)))
-- | <https://html.spec.whatwg.org/multipage/media.html#handler-texttracklist-onchange change event>
change :: EventName TextTrackList Event
change = unsafeEventName (toJSString "change")
-- | <https://html.spec.whatwg.org/multipage/media.html#handler-texttracklist-onaddtrack addtrack event>
addTrack :: EventName TextTrackList TrackEvent
addTrack = unsafeEventName (toJSString "addtrack")
-- | <https://html.spec.whatwg.org/multipage/media.html#handler-texttracklist-onremovetrack removetrack event>
removeTrack :: EventName TextTrackList TrackEvent
removeTrack = unsafeEventName (toJSString "removetrack")