{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} 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")