{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.MediaDevices
(enumerateDevices, enumerateDevices_, getSupportedConstraints,
getSupportedConstraints_, getUserMedia, getUserMedia_,
devicechange, MediaDevices(..), gTypeMediaDevices)
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
enumerateDevices ::
(MonadDOM m) => MediaDevices -> m [MediaDeviceInfo]
enumerateDevices :: forall (m :: * -> *).
MonadDOM m =>
MediaDevices -> m [MediaDeviceInfo]
enumerateDevices MediaDevices
self
= DOM [MediaDeviceInfo] -> m [MediaDeviceInfo]
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((MediaDevices
self MediaDevices
-> Getting (JSM JSVal) MediaDevices (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
"enumerateDevices" ()) 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) JSM JSVal
-> (JSVal -> DOM [MediaDeviceInfo]) -> DOM [MediaDeviceInfo]
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 [MediaDeviceInfo]
forall o. FromJSVal o => JSVal -> JSM [o]
fromJSArrayUnchecked)
enumerateDevices_ :: (MonadDOM m) => MediaDevices -> m ()
enumerateDevices_ :: forall (m :: * -> *). MonadDOM m => MediaDevices -> m ()
enumerateDevices_ MediaDevices
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 (MediaDevices
self MediaDevices
-> Getting (JSM JSVal) MediaDevices (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
"enumerateDevices" ()))
getSupportedConstraints ::
(MonadDOM m) => MediaDevices -> m MediaTrackSupportedConstraints
getSupportedConstraints :: forall (m :: * -> *).
MonadDOM m =>
MediaDevices -> m MediaTrackSupportedConstraints
getSupportedConstraints MediaDevices
self
= DOM MediaTrackSupportedConstraints
-> m MediaTrackSupportedConstraints
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((MediaDevices
self MediaDevices
-> Getting (JSM JSVal) MediaDevices (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
"getSupportedConstraints" ()) JSM JSVal
-> (JSVal -> DOM MediaTrackSupportedConstraints)
-> DOM MediaTrackSupportedConstraints
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 MediaTrackSupportedConstraints
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getSupportedConstraints_ :: (MonadDOM m) => MediaDevices -> m ()
getSupportedConstraints_ :: forall (m :: * -> *). MonadDOM m => MediaDevices -> m ()
getSupportedConstraints_ MediaDevices
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 (MediaDevices
self MediaDevices
-> Getting (JSM JSVal) MediaDevices (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
"getSupportedConstraints" ()))
getUserMedia ::
(MonadDOM m) =>
MediaDevices -> Maybe MediaStreamConstraints -> m MediaStream
getUserMedia :: forall (m :: * -> *).
MonadDOM m =>
MediaDevices -> Maybe MediaStreamConstraints -> m MediaStream
getUserMedia MediaDevices
self Maybe MediaStreamConstraints
constraints
= DOM MediaStream -> m MediaStream
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((MediaDevices
self MediaDevices
-> Getting (JSM JSVal) MediaDevices (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
"getUserMedia" [Maybe MediaStreamConstraints -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MediaStreamConstraints
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)
JSM JSVal -> (JSVal -> DOM MediaStream) -> DOM MediaStream
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 MediaStream
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getUserMedia_ ::
(MonadDOM m) =>
MediaDevices -> Maybe MediaStreamConstraints -> m ()
getUserMedia_ :: forall (m :: * -> *).
MonadDOM m =>
MediaDevices -> Maybe MediaStreamConstraints -> m ()
getUserMedia_ MediaDevices
self Maybe MediaStreamConstraints
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 (MediaDevices
self MediaDevices
-> Getting (JSM JSVal) MediaDevices (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
"getUserMedia" [Maybe MediaStreamConstraints -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe MediaStreamConstraints
constraints]))
devicechange :: EventName MediaDevices ondevicechange
devicechange :: forall ondevicechange. EventName MediaDevices ondevicechange
devicechange = DOMString -> EventName MediaDevices ondevicechange
forall t e. DOMString -> EventName t e
unsafeEventName (String -> DOMString
forall a. ToJSString a => a -> DOMString
toJSString String
"devicechange")