packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaStream.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediacapture-streams (webref). Do not edit.
module JSDOM.Generated.MediaStream
       (newMediaStream, newMediaStream', newMediaStream'', addTrack, clone, clone_, getAudioTracks, getAudioTracks_, getTrackById, getTrackById_, getTrackByIdUnsafe, getTrackByIdUnchecked, getTracks, getTracks_, getVideoTracks, getVideoTracks_, removeTrack, getId, getActive, addTrackEvent, removeTrackEvent, MediaStream(..), gTypeMediaStream)
       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/MediaStream/MediaStream MDN MediaStream. documentation>
newMediaStream :: (MonadDOM m) => m MediaStream
newMediaStream = liftDOM (((new (jsg "MediaStream") ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/MediaStream MDN MediaStream. documentation>
newMediaStream' :: (MonadDOM m) => MediaStream -> m MediaStream
newMediaStream' stream = liftDOM (((new (jsg "MediaStream") [toJSVal stream]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/MediaStream MDN MediaStream. documentation>
newMediaStream'' :: (MonadDOM m, IsMediaStreamTrack tracks) => [tracks] -> m MediaStream
newMediaStream'' tracks = liftDOM (((new (jsg "MediaStream") [toJSVal tracks]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/addTrack MDN MediaStream.addTrack documentation>
addTrack :: (MonadDOM m, IsMediaStreamTrack track) => MediaStream -> track -> m ()
addTrack self track = liftDOM (void (self ^. jsf "addTrack" [toJSVal track]))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/clone MDN MediaStream.clone documentation>
clone :: (MonadDOM m) => MediaStream -> m MediaStream
clone self = liftDOM (((self ^. jsf "clone" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/clone MDN MediaStream.clone documentation>
clone_ :: (MonadDOM m) => MediaStream -> m ()
clone_ self = liftDOM (void (self ^. jsf "clone" ()))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getAudioTracks MDN MediaStream.getAudioTracks documentation>
getAudioTracks :: (MonadDOM m) => MediaStream -> m [MediaStreamTrack]
getAudioTracks self = liftDOM (((self ^. jsf "getAudioTracks" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getAudioTracks MDN MediaStream.getAudioTracks documentation>
getAudioTracks_ :: (MonadDOM m) => MediaStream -> m ()
getAudioTracks_ self = liftDOM (void (self ^. jsf "getAudioTracks" ()))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getTrackById MDN MediaStream.getTrackById documentation>
getTrackById :: (MonadDOM m, ToJSString trackId) => MediaStream -> trackId -> m (Maybe MediaStreamTrack)
getTrackById self trackId = liftDOM (((self ^. jsf "getTrackById" [toJSVal trackId]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getTrackById MDN MediaStream.getTrackById documentation>
getTrackById_ :: (MonadDOM m, ToJSString trackId) => MediaStream -> trackId -> m ()
getTrackById_ self trackId = liftDOM (void (self ^. jsf "getTrackById" [toJSVal trackId]))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getTrackById MDN MediaStream.getTrackById documentation>
getTrackByIdUnsafe :: (MonadDOM m, ToJSString trackId, HasCallStack) => MediaStream -> trackId -> m MediaStreamTrack
getTrackByIdUnsafe self trackId = liftDOM ((((self ^. jsf "getTrackById" [toJSVal trackId]) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getTrackById MDN MediaStream.getTrackById documentation>
getTrackByIdUnchecked :: (MonadDOM m, ToJSString trackId) => MediaStream -> trackId -> m MediaStreamTrack
getTrackByIdUnchecked self trackId = liftDOM (((self ^. jsf "getTrackById" [toJSVal trackId]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getTracks MDN MediaStream.getTracks documentation>
getTracks :: (MonadDOM m) => MediaStream -> m [MediaStreamTrack]
getTracks self = liftDOM (((self ^. jsf "getTracks" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getTracks MDN MediaStream.getTracks documentation>
getTracks_ :: (MonadDOM m) => MediaStream -> m ()
getTracks_ self = liftDOM (void (self ^. jsf "getTracks" ()))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getVideoTracks MDN MediaStream.getVideoTracks documentation>
getVideoTracks :: (MonadDOM m) => MediaStream -> m [MediaStreamTrack]
getVideoTracks self = liftDOM (((self ^. jsf "getVideoTracks" ()) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/getVideoTracks MDN MediaStream.getVideoTracks documentation>
getVideoTracks_ :: (MonadDOM m) => MediaStream -> m ()
getVideoTracks_ self = liftDOM (void (self ^. jsf "getVideoTracks" ()))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/removeTrack MDN MediaStream.removeTrack documentation>
removeTrack :: (MonadDOM m, IsMediaStreamTrack track) => MediaStream -> track -> m ()
removeTrack self track = liftDOM (void (self ^. jsf "removeTrack" [toJSVal track]))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/id MDN MediaStream.id documentation>
getId :: (MonadDOM m, FromJSString result) => MediaStream -> m result
getId self = liftDOM (((self ^. js "id") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaStream/active MDN MediaStream.active documentation>
getActive :: (MonadDOM m) => MediaStream -> m Bool
getActive self = liftDOM (((self ^. js "active") >>= valToBool))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastream-onaddtrack addtrack event>
addTrackEvent :: EventName MediaStream MediaStreamTrackEvent
addTrackEvent = unsafeEventName (toJSString "addtrack")

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastream-onremovetrack removetrack event>
removeTrackEvent :: EventName MediaStream MediaStreamTrackEvent
removeTrackEvent = unsafeEventName (toJSString "removetrack")