jsaddle-dom-0.10.0.0: src/JSDOM/Generated/TextTrack.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.TextTrack
(addCue, removeCue, getKind, getLabel, getLanguage, getId, getInBandMetadataTrackDispatchType, setMode, getMode, getCues, getCuesUnsafe, getCuesUnchecked, getActiveCues, getActiveCuesUnsafe, getActiveCuesUnchecked, getSourceBuffer, getSourceBufferUnsafe, getSourceBufferUnchecked, cueChange, TextTrack(..), gTypeTextTrack)
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/TextTrack/addCue MDN TextTrack.addCue documentation>
addCue :: (MonadDOM m, IsTextTrackCue cue) => TextTrack -> cue -> m ()
addCue self cue = liftDOM (void (self ^. jsf "addCue" [toJSVal cue]))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/removeCue MDN TextTrack.removeCue documentation>
removeCue :: (MonadDOM m, IsTextTrackCue cue) => TextTrack -> cue -> m ()
removeCue self cue = liftDOM (void (self ^. jsf "removeCue" [toJSVal cue]))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/kind MDN TextTrack.kind documentation>
getKind :: (MonadDOM m) => TextTrack -> m TextTrackKind
getKind self = liftDOM (((self ^. js "kind") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/label MDN TextTrack.label documentation>
getLabel :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getLabel self = liftDOM (((self ^. js "label") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/language MDN TextTrack.language documentation>
getLanguage :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getLanguage self = liftDOM (((self ^. js "language") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/id MDN TextTrack.id documentation>
getId :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getId self = liftDOM (((self ^. js "id") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/inBandMetadataTrackDispatchType MDN TextTrack.inBandMetadataTrackDispatchType documentation>
getInBandMetadataTrackDispatchType :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getInBandMetadataTrackDispatchType self = liftDOM (((self ^. js "inBandMetadataTrackDispatchType") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/mode MDN TextTrack.mode documentation>
setMode :: (MonadDOM m) => TextTrack -> TextTrackMode -> m ()
setMode self val = liftDOM (void (self ^. jss "mode" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/mode MDN TextTrack.mode documentation>
getMode :: (MonadDOM m) => TextTrack -> m TextTrackMode
getMode self = liftDOM (((self ^. js "mode") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/cues MDN TextTrack.cues documentation>
getCues :: (MonadDOM m) => TextTrack -> m (Maybe TextTrackCueList)
getCues self = liftDOM (((self ^. js "cues") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/cues MDN TextTrack.cues documentation>
getCuesUnsafe :: (MonadDOM m, HasCallStack) => TextTrack -> m TextTrackCueList
getCuesUnsafe self = liftDOM ((((self ^. js "cues") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/cues MDN TextTrack.cues documentation>
getCuesUnchecked :: (MonadDOM m) => TextTrack -> m TextTrackCueList
getCuesUnchecked self = liftDOM (((self ^. js "cues") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/activeCues MDN TextTrack.activeCues documentation>
getActiveCues :: (MonadDOM m) => TextTrack -> m (Maybe TextTrackCueList)
getActiveCues self = liftDOM (((self ^. js "activeCues") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/activeCues MDN TextTrack.activeCues documentation>
getActiveCuesUnsafe :: (MonadDOM m, HasCallStack) => TextTrack -> m TextTrackCueList
getActiveCuesUnsafe self = liftDOM ((((self ^. js "activeCues") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/activeCues MDN TextTrack.activeCues documentation>
getActiveCuesUnchecked :: (MonadDOM m) => TextTrack -> m TextTrackCueList
getActiveCuesUnchecked self = liftDOM (((self ^. js "activeCues") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/sourceBuffer MDN TextTrack.sourceBuffer documentation>
getSourceBuffer :: (MonadDOM m) => TextTrack -> m (Maybe SourceBuffer)
getSourceBuffer self = liftDOM (((self ^. js "sourceBuffer") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/sourceBuffer MDN TextTrack.sourceBuffer documentation>
getSourceBufferUnsafe :: (MonadDOM m, HasCallStack) => TextTrack -> m SourceBuffer
getSourceBufferUnsafe self = liftDOM ((((self ^. js "sourceBuffer") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/sourceBuffer MDN TextTrack.sourceBuffer documentation>
getSourceBufferUnchecked :: (MonadDOM m) => TextTrack -> m SourceBuffer
getSourceBufferUnchecked self = liftDOM (((self ^. js "sourceBuffer") >>= fromJSValUnchecked))
-- | <https://html.spec.whatwg.org/multipage/media.html#handler-texttrack-oncuechange cuechange event>
cueChange :: EventName TextTrack Event
cueChange = unsafeEventName (toJSString "cuechange")