{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.TextTrack
       (addCue, removeCue, addRegion, removeRegion, getId, setKind,
        getKind, getLabel, setLanguage, getLanguage,
        getInBandMetadataTrackDispatchType, setMode, getMode, getCues,
        getCuesUnsafe, getCuesUnchecked, getActiveCues,
        getActiveCuesUnsafe, getActiveCuesUnchecked, cueChange, getRegions,
        getSourceBuffer, TextTrack(..), gTypeTextTrack)
       where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.addCue Mozilla TextTrack.addCue documentation> 
addCue ::
       (MonadDOM m, IsTextTrackCue cue) => TextTrack -> cue -> m ()
addCue :: TextTrack -> cue -> m ()
addCue TextTrack
self cue
cue
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"addCue" [cue -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal cue
cue]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.removeCue Mozilla TextTrack.removeCue documentation> 
removeCue ::
          (MonadDOM m, IsTextTrackCue cue) => TextTrack -> cue -> m ()
removeCue :: TextTrack -> cue -> m ()
removeCue TextTrack
self cue
cue
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"removeCue" [cue -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal cue
cue]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.addRegion Mozilla TextTrack.addRegion documentation> 
addRegion :: (MonadDOM m) => TextTrack -> Maybe VTTRegion -> m ()
addRegion :: TextTrack -> Maybe VTTRegion -> m ()
addRegion TextTrack
self Maybe VTTRegion
region
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"addRegion" [Maybe VTTRegion -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe VTTRegion
region]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.removeRegion Mozilla TextTrack.removeRegion documentation> 
removeRegion ::
             (MonadDOM m) => TextTrack -> Maybe VTTRegion -> m ()
removeRegion :: TextTrack -> Maybe VTTRegion -> m ()
removeRegion TextTrack
self Maybe VTTRegion
region
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"removeRegion" [Maybe VTTRegion -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe VTTRegion
region]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.id Mozilla TextTrack.id documentation> 
getId :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getId :: TextTrack -> m result
getId TextTrack
self = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"id") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.kind Mozilla TextTrack.kind documentation> 
setKind :: (MonadDOM m) => TextTrack -> TextTrackKind -> m ()
setKind :: TextTrack -> TextTrackKind -> m ()
setKind TextTrack
self TextTrackKind
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (TextTrack
self TextTrack -> Getting (DOM ()) TextTrack (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"kind" (TextTrackKind -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal TextTrackKind
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.kind Mozilla TextTrack.kind documentation> 
getKind :: (MonadDOM m) => TextTrack -> m TextTrackKind
getKind :: TextTrack -> m TextTrackKind
getKind TextTrack
self = DOM TextTrackKind -> m TextTrackKind
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"kind") JSM JSVal -> (JSVal -> DOM TextTrackKind) -> DOM TextTrackKind
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TextTrackKind
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.label Mozilla TextTrack.label documentation> 
getLabel ::
         (MonadDOM m, FromJSString result) => TextTrack -> m result
getLabel :: TextTrack -> m result
getLabel TextTrack
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"label") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.language Mozilla TextTrack.language documentation> 
setLanguage ::
            (MonadDOM m, ToJSString val) => TextTrack -> val -> m ()
setLanguage :: TextTrack -> val -> m ()
setLanguage TextTrack
self val
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (TextTrack
self TextTrack -> Getting (DOM ()) TextTrack (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"language" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.language Mozilla TextTrack.language documentation> 
getLanguage ::
            (MonadDOM m, FromJSString result) => TextTrack -> m result
getLanguage :: TextTrack -> m result
getLanguage TextTrack
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"language") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.inBandMetadataTrackDispatchType Mozilla TextTrack.inBandMetadataTrackDispatchType documentation> 
getInBandMetadataTrackDispatchType ::
                                   (MonadDOM m, FromJSString result) => TextTrack -> m result
getInBandMetadataTrackDispatchType :: TextTrack -> m result
getInBandMetadataTrackDispatchType TextTrack
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"inBandMetadataTrackDispatchType") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.mode Mozilla TextTrack.mode documentation> 
setMode :: (MonadDOM m) => TextTrack -> TextTrackMode -> m ()
setMode :: TextTrack -> TextTrackMode -> m ()
setMode TextTrack
self TextTrackMode
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (TextTrack
self TextTrack -> Getting (DOM ()) TextTrack (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss [Char]
"mode" (TextTrackMode -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal TextTrackMode
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.mode Mozilla TextTrack.mode documentation> 
getMode :: (MonadDOM m) => TextTrack -> m TextTrackMode
getMode :: TextTrack -> m TextTrackMode
getMode TextTrack
self = DOM TextTrackMode -> m TextTrackMode
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"mode") JSM JSVal -> (JSVal -> DOM TextTrackMode) -> DOM TextTrackMode
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TextTrackMode
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.cues Mozilla TextTrack.cues documentation> 
getCues :: (MonadDOM m) => TextTrack -> m (Maybe TextTrackCueList)
getCues :: TextTrack -> m (Maybe TextTrackCueList)
getCues TextTrack
self = DOM (Maybe TextTrackCueList) -> m (Maybe TextTrackCueList)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"cues") JSM JSVal
-> (JSVal -> DOM (Maybe TextTrackCueList))
-> DOM (Maybe TextTrackCueList)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe TextTrackCueList)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.cues Mozilla TextTrack.cues documentation> 
getCuesUnsafe ::
              (MonadDOM m, HasCallStack) => TextTrack -> m TextTrackCueList
getCuesUnsafe :: TextTrack -> m TextTrackCueList
getCuesUnsafe TextTrack
self
  = DOM TextTrackCueList -> m TextTrackCueList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"cues") JSM JSVal
-> (JSVal -> DOM (Maybe TextTrackCueList))
-> DOM (Maybe TextTrackCueList)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe TextTrackCueList)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe TextTrackCueList)
-> (Maybe TextTrackCueList -> DOM TextTrackCueList)
-> DOM TextTrackCueList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         DOM TextTrackCueList
-> (TextTrackCueList -> DOM TextTrackCueList)
-> Maybe TextTrackCueList
-> DOM TextTrackCueList
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM TextTrackCueList
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") TextTrackCueList -> DOM TextTrackCueList
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.cues Mozilla TextTrack.cues documentation> 
getCuesUnchecked :: (MonadDOM m) => TextTrack -> m TextTrackCueList
getCuesUnchecked :: TextTrack -> m TextTrackCueList
getCuesUnchecked TextTrack
self
  = DOM TextTrackCueList -> m TextTrackCueList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"cues") JSM JSVal
-> (JSVal -> DOM TextTrackCueList) -> DOM TextTrackCueList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TextTrackCueList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.activeCues Mozilla TextTrack.activeCues documentation> 
getActiveCues ::
              (MonadDOM m) => TextTrack -> m (Maybe TextTrackCueList)
getActiveCues :: TextTrack -> m (Maybe TextTrackCueList)
getActiveCues TextTrack
self
  = DOM (Maybe TextTrackCueList) -> m (Maybe TextTrackCueList)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"activeCues") JSM JSVal
-> (JSVal -> DOM (Maybe TextTrackCueList))
-> DOM (Maybe TextTrackCueList)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe TextTrackCueList)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.activeCues Mozilla TextTrack.activeCues documentation> 
getActiveCuesUnsafe ::
                    (MonadDOM m, HasCallStack) => TextTrack -> m TextTrackCueList
getActiveCuesUnsafe :: TextTrack -> m TextTrackCueList
getActiveCuesUnsafe TextTrack
self
  = DOM TextTrackCueList -> m TextTrackCueList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"activeCues") JSM JSVal
-> (JSVal -> DOM (Maybe TextTrackCueList))
-> DOM (Maybe TextTrackCueList)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM (Maybe TextTrackCueList)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe TextTrackCueList)
-> (Maybe TextTrackCueList -> DOM TextTrackCueList)
-> DOM TextTrackCueList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         DOM TextTrackCueList
-> (TextTrackCueList -> DOM TextTrackCueList)
-> Maybe TextTrackCueList
-> DOM TextTrackCueList
forall b a. b -> (a -> b) -> Maybe a -> b
maybe ([Char] -> DOM TextTrackCueList
forall a. HasCallStack => [Char] -> a
Prelude.error [Char]
"Nothing to return") TextTrackCueList -> DOM TextTrackCueList
forall (m :: * -> *) a. Monad m => a -> m a
return)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.activeCues Mozilla TextTrack.activeCues documentation> 
getActiveCuesUnchecked ::
                       (MonadDOM m) => TextTrack -> m TextTrackCueList
getActiveCuesUnchecked :: TextTrack -> m TextTrackCueList
getActiveCuesUnchecked TextTrack
self
  = DOM TextTrackCueList -> m TextTrackCueList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"activeCues") JSM JSVal
-> (JSVal -> DOM TextTrackCueList) -> DOM TextTrackCueList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM TextTrackCueList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.oncuechange Mozilla TextTrack.oncuechange documentation> 
cueChange :: EventName TextTrack Event
cueChange :: EventName TextTrack Event
cueChange = DOMString -> EventName TextTrack Event
forall t e. DOMString -> EventName t e
unsafeEventName ([Char] -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString [Char]
"cuechange")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.regions Mozilla TextTrack.regions documentation> 
getRegions :: (MonadDOM m) => TextTrack -> m VTTRegionList
getRegions :: TextTrack -> m VTTRegionList
getRegions TextTrack
self
  = DOM VTTRegionList -> m VTTRegionList
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"regions") JSM JSVal -> (JSVal -> DOM VTTRegionList) -> DOM VTTRegionList
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM VTTRegionList
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/TextTrack.sourceBuffer Mozilla TextTrack.sourceBuffer documentation> 
getSourceBuffer :: (MonadDOM m) => TextTrack -> m SourceBuffer
getSourceBuffer :: TextTrack -> m SourceBuffer
getSourceBuffer TextTrack
self
  = DOM SourceBuffer -> m SourceBuffer
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((TextTrack
self TextTrack -> Getting (JSM JSVal) TextTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter TextTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"sourceBuffer") JSM JSVal -> (JSVal -> DOM SourceBuffer) -> DOM SourceBuffer
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SourceBuffer
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)