module JSDOM.Generated.MediaStream
(newMediaStream, newMediaStream', newMediaStream'', getAudioTracks,
getAudioTracks_, getVideoTracks, getVideoTracks_, getTracks,
getTracks_, addTrack, removeTrack, getTrackById, getTrackById_,
getTrackByIdUnsafe, getTrackByIdUnchecked, clone, clone_,
cloneUnsafe, cloneUnchecked, getId, getActive, active, inactive,
addTrackEvent, removeTrackEvent, MediaStream(..), gTypeMediaStream)
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 Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array)
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)
import JSDOM.Enums
newMediaStream :: (MonadDOM m) => m MediaStream
newMediaStream
= liftDOM (MediaStream <$> new (jsg "MediaStream") ())
newMediaStream' ::
(MonadDOM m) => Maybe MediaStream -> m MediaStream
newMediaStream' stream
= liftDOM
(MediaStream <$> new (jsg "MediaStream") [toJSVal stream])
newMediaStream'' ::
(MonadDOM m, IsMediaStreamTrack tracks) =>
[Maybe tracks] -> m MediaStream
newMediaStream'' tracks
= liftDOM
(MediaStream <$> new (jsg "MediaStream") [toJSVal (array tracks)])
getAudioTracks ::
(MonadDOM m) => MediaStream -> m [Maybe MediaStreamTrack]
getAudioTracks self
= liftDOM ((self ^. jsf "getAudioTracks" ()) >>= fromJSArray)
getAudioTracks_ :: (MonadDOM m) => MediaStream -> m ()
getAudioTracks_ self
= liftDOM (void (self ^. jsf "getAudioTracks" ()))
getVideoTracks ::
(MonadDOM m) => MediaStream -> m [Maybe MediaStreamTrack]
getVideoTracks self
= liftDOM ((self ^. jsf "getVideoTracks" ()) >>= fromJSArray)
getVideoTracks_ :: (MonadDOM m) => MediaStream -> m ()
getVideoTracks_ self
= liftDOM (void (self ^. jsf "getVideoTracks" ()))
getTracks ::
(MonadDOM m) => MediaStream -> m [Maybe MediaStreamTrack]
getTracks self
= liftDOM ((self ^. jsf "getTracks" ()) >>= fromJSArray)
getTracks_ :: (MonadDOM m) => MediaStream -> m ()
getTracks_ self = liftDOM (void (self ^. jsf "getTracks" ()))
addTrack ::
(MonadDOM m, IsMediaStreamTrack track) =>
MediaStream -> Maybe track -> m ()
addTrack self track
= liftDOM (void (self ^. jsf "addTrack" [toJSVal track]))
removeTrack ::
(MonadDOM m, IsMediaStreamTrack track) =>
MediaStream -> Maybe track -> m ()
removeTrack self track
= liftDOM (void (self ^. jsf "removeTrack" [toJSVal track]))
getTrackById ::
(MonadDOM m, ToJSString trackId) =>
MediaStream -> trackId -> m (Maybe MediaStreamTrack)
getTrackById self trackId
= liftDOM
((self ^. jsf "getTrackById" [toJSVal trackId]) >>= fromJSVal)
getTrackById_ ::
(MonadDOM m, ToJSString trackId) => MediaStream -> trackId -> m ()
getTrackById_ self trackId
= liftDOM (void (self ^. jsf "getTrackById" [toJSVal trackId]))
getTrackByIdUnsafe ::
(MonadDOM m, ToJSString trackId, HasCallStack) =>
MediaStream -> trackId -> m MediaStreamTrack
getTrackByIdUnsafe self trackId
= liftDOM
(((self ^. jsf "getTrackById" [toJSVal trackId]) >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
getTrackByIdUnchecked ::
(MonadDOM m, ToJSString trackId) =>
MediaStream -> trackId -> m MediaStreamTrack
getTrackByIdUnchecked self trackId
= liftDOM
((self ^. jsf "getTrackById" [toJSVal trackId]) >>=
fromJSValUnchecked)
clone :: (MonadDOM m) => MediaStream -> m (Maybe MediaStream)
clone self = liftDOM ((self ^. jsf "clone" ()) >>= fromJSVal)
clone_ :: (MonadDOM m) => MediaStream -> m ()
clone_ self = liftDOM (void (self ^. jsf "clone" ()))
cloneUnsafe ::
(MonadDOM m, HasCallStack) => MediaStream -> m MediaStream
cloneUnsafe self
= liftDOM
(((self ^. jsf "clone" ()) >>= fromJSVal) >>=
maybe (Prelude.error "Nothing to return") return)
cloneUnchecked :: (MonadDOM m) => MediaStream -> m MediaStream
cloneUnchecked self
= liftDOM ((self ^. jsf "clone" ()) >>= fromJSValUnchecked)
getId ::
(MonadDOM m, FromJSString result) => MediaStream -> m result
getId self = liftDOM ((self ^. js "id") >>= fromJSValUnchecked)
getActive :: (MonadDOM m) => MediaStream -> m Bool
getActive self = liftDOM ((self ^. js "active") >>= valToBool)
active :: EventName MediaStream Event
active = unsafeEventName (toJSString "active")
inactive :: EventName MediaStream Event
inactive = unsafeEventName (toJSString "inactive")
addTrackEvent :: EventName MediaStream Event
addTrackEvent = unsafeEventName (toJSString "addtrack")
removeTrackEvent :: EventName MediaStream Event
removeTrackEvent = unsafeEventName (toJSString "removetrack")