{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.MediaStreamTrack
       (clone, clone_, stop, getCapabilities, getCapabilities_,
        getConstraints, getConstraints_, getSettings, getSettings_,
        applyConstraints, getKind, getId, getLabel, setEnabled, getEnabled,
        getMuted, mute, unmute, getReadyState, ended, overConstrained,
        MediaStreamTrack(..), gTypeMediaStreamTrack, IsMediaStreamTrack,
        toMediaStreamTrack)
       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/MediaStreamTrack.clone Mozilla MediaStreamTrack.clone documentation> 
clone ::
      (MonadDOM m, IsMediaStreamTrack self) => self -> m MediaStreamTrack
clone :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m MediaStreamTrack
clone self
self
  = DOM MediaStreamTrack -> m MediaStreamTrack
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"clone" ()) JSM JSVal
-> (JSVal -> DOM MediaStreamTrack) -> DOM MediaStreamTrack
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaStreamTrack
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.clone Mozilla MediaStreamTrack.clone documentation> 
clone_ :: (MonadDOM m, IsMediaStreamTrack self) => self -> m ()
clone_ :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m ()
clone_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"clone" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.stop Mozilla MediaStreamTrack.stop documentation> 
stop :: (MonadDOM m, IsMediaStreamTrack self) => self -> m ()
stop :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m ()
stop self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"stop" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.getCapabilities Mozilla MediaStreamTrack.getCapabilities documentation> 
getCapabilities ::
                (MonadDOM m, IsMediaStreamTrack self) =>
                  self -> m MediaTrackCapabilities
getCapabilities :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m MediaTrackCapabilities
getCapabilities self
self
  = DOM MediaTrackCapabilities -> m MediaTrackCapabilities
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getCapabilities" ()) JSM JSVal
-> (JSVal -> DOM MediaTrackCapabilities)
-> DOM MediaTrackCapabilities
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaTrackCapabilities
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.getCapabilities Mozilla MediaStreamTrack.getCapabilities documentation> 
getCapabilities_ ::
                 (MonadDOM m, IsMediaStreamTrack self) => self -> m ()
getCapabilities_ :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m ()
getCapabilities_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getCapabilities" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.getConstraints Mozilla MediaStreamTrack.getConstraints documentation> 
getConstraints ::
               (MonadDOM m, IsMediaStreamTrack self) =>
                 self -> m MediaTrackConstraints
getConstraints :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m MediaTrackConstraints
getConstraints self
self
  = DOM MediaTrackConstraints -> m MediaTrackConstraints
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getConstraints" ()) JSM JSVal
-> (JSVal -> DOM MediaTrackConstraints)
-> DOM MediaTrackConstraints
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaTrackConstraints
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.getConstraints Mozilla MediaStreamTrack.getConstraints documentation> 
getConstraints_ ::
                (MonadDOM m, IsMediaStreamTrack self) => self -> m ()
getConstraints_ :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m ()
getConstraints_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getConstraints" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.getSettings Mozilla MediaStreamTrack.getSettings documentation> 
getSettings ::
            (MonadDOM m, IsMediaStreamTrack self) =>
              self -> m MediaTrackSettings
getSettings :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m MediaTrackSettings
getSettings self
self
  = DOM MediaTrackSettings -> m MediaTrackSettings
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getSettings" ()) JSM JSVal
-> (JSVal -> DOM MediaTrackSettings) -> DOM MediaTrackSettings
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaTrackSettings
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.getSettings Mozilla MediaStreamTrack.getSettings documentation> 
getSettings_ ::
             (MonadDOM m, IsMediaStreamTrack self) => self -> m ()
getSettings_ :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m ()
getSettings_ self
self
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void ((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"getSettings" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.applyConstraints Mozilla MediaStreamTrack.applyConstraints documentation> 
applyConstraints ::
                 (MonadDOM m, IsMediaStreamTrack self) =>
                   self -> Maybe MediaTrackConstraints -> m ()
applyConstraints :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> Maybe MediaTrackConstraints -> m ()
applyConstraints self
self Maybe MediaTrackConstraints
constraints
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"applyConstraints"
             [Maybe MediaTrackConstraints -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MediaTrackConstraints
constraints])
            JSM JSVal -> (JSVal -> JSM JSVal) -> JSM JSVal
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM JSVal
readPromise))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.kind Mozilla MediaStreamTrack.kind documentation> 
getKind ::
        (MonadDOM m, IsMediaStreamTrack self, FromJSString result) =>
          self -> m result
getKind :: forall (m :: * -> *) self result.
(MonadDOM m, IsMediaStreamTrack self, FromJSString result) =>
self -> m result
getKind self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaStreamTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"kind") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
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/MediaStreamTrack.id Mozilla MediaStreamTrack.id documentation> 
getId ::
      (MonadDOM m, IsMediaStreamTrack self, FromJSString result) =>
        self -> m result
getId :: forall (m :: * -> *) self result.
(MonadDOM m, IsMediaStreamTrack self, FromJSString result) =>
self -> m result
getId self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaStreamTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"id") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
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/MediaStreamTrack.label Mozilla MediaStreamTrack.label documentation> 
getLabel ::
         (MonadDOM m, IsMediaStreamTrack self, FromJSString result) =>
           self -> m result
getLabel :: forall (m :: * -> *) self result.
(MonadDOM m, IsMediaStreamTrack self, FromJSString result) =>
self -> m result
getLabel self
self
  = DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaStreamTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"label") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall a b. JSM a -> (a -> JSM b) -> JSM b
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/MediaStreamTrack.enabled Mozilla MediaStreamTrack.enabled documentation> 
setEnabled ::
           (MonadDOM m, IsMediaStreamTrack self) => self -> Bool -> m ()
setEnabled :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> Bool -> m ()
setEnabled self
self Bool
val
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (DOM ()) MediaStreamTrack (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> 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 String
"enabled" (Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.enabled Mozilla MediaStreamTrack.enabled documentation> 
getEnabled ::
           (MonadDOM m, IsMediaStreamTrack self) => self -> m Bool
getEnabled :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m Bool
getEnabled self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaStreamTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"enabled") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.muted Mozilla MediaStreamTrack.muted documentation> 
getMuted :: (MonadDOM m, IsMediaStreamTrack self) => self -> m Bool
getMuted :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m Bool
getMuted self
self
  = DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaStreamTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"muted") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.onmute Mozilla MediaStreamTrack.onmute documentation> 
mute ::
     (IsMediaStreamTrack self, IsEventTarget self) =>
       EventName self Event
mute :: forall self.
(IsMediaStreamTrack self, IsEventTarget self) =>
EventName self Event
mute = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"mute")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.onunmute Mozilla MediaStreamTrack.onunmute documentation> 
unmute ::
       (IsMediaStreamTrack self, IsEventTarget self) =>
         EventName self Event
unmute :: forall self.
(IsMediaStreamTrack self, IsEventTarget self) =>
EventName self Event
unmute = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"unmute")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.readyState Mozilla MediaStreamTrack.readyState documentation> 
getReadyState ::
              (MonadDOM m, IsMediaStreamTrack self) =>
                self -> m MediaStreamTrackState
getReadyState :: forall (m :: * -> *) self.
(MonadDOM m, IsMediaStreamTrack self) =>
self -> m MediaStreamTrackState
getReadyState self
self
  = DOM MediaStreamTrackState -> m MediaStreamTrackState
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (((self -> MediaStreamTrack
forall o. IsMediaStreamTrack o => o -> MediaStreamTrack
toMediaStreamTrack self
self) MediaStreamTrack
-> Getting (JSM JSVal) MediaStreamTrack (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MediaStreamTrack (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"readyState") JSM JSVal
-> (JSVal -> DOM MediaStreamTrackState)
-> DOM MediaStreamTrackState
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
         JSVal -> DOM MediaStreamTrackState
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.onended Mozilla MediaStreamTrack.onended documentation> 
ended ::
      (IsMediaStreamTrack self, IsEventTarget self) =>
        EventName self Event
ended :: forall self.
(IsMediaStreamTrack self, IsEventTarget self) =>
EventName self Event
ended = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"ended")

-- | <https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.onoverconstrained Mozilla MediaStreamTrack.onoverconstrained documentation> 
overConstrained ::
                (IsMediaStreamTrack self, IsEventTarget self) =>
                  EventName self Event
overConstrained :: forall self.
(IsMediaStreamTrack self, IsEventTarget self) =>
EventName self Event
overConstrained = DOMString -> EventName self Event
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"overconstrained")