packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaDevices.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.MediaDevices
       (enumerateDevices, enumerateDevices_, getDisplayMedia, getDisplayMedia_, getSupportedConstraints, getSupportedConstraints_, getUserMedia, getUserMedia_, devicechange, MediaDevices(..), gTypeMediaDevices)
       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/MediaDevices/enumerateDevices MDN MediaDevices.enumerateDevices documentation>
enumerateDevices :: (MonadDOM m) => MediaDevices -> m [MediaDeviceInfo]
enumerateDevices self = liftDOM (((((self ^. jsf "enumerateDevices" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaDevices/enumerateDevices MDN MediaDevices.enumerateDevices documentation>
enumerateDevices_ :: (MonadDOM m) => MediaDevices -> m ()
enumerateDevices_ self = liftDOM (void (((self ^. jsf "enumerateDevices" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/MediaDevices/getDisplayMedia MDN MediaDevices.getDisplayMedia documentation>
getDisplayMedia :: (MonadDOM m) => MediaDevices -> Maybe DisplayMediaStreamOptions -> m MediaStream
getDisplayMedia self options = liftDOM (((((self ^. jsf "getDisplayMedia" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaDevices/getDisplayMedia MDN MediaDevices.getDisplayMedia documentation>
getDisplayMedia_ :: (MonadDOM m) => MediaDevices -> Maybe DisplayMediaStreamOptions -> m ()
getDisplayMedia_ self options = liftDOM (void (((self ^. jsf "getDisplayMedia" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

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

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

-- | <https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia MDN MediaDevices.getUserMedia documentation>
getUserMedia :: (MonadDOM m) => MediaDevices -> Maybe MediaStreamConstraints -> m MediaStream
getUserMedia self constraints = liftDOM (((((self ^. jsf "getUserMedia" [P.maybe (P.return jsUndefined) toJSVal constraints]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia MDN MediaDevices.getUserMedia documentation>
getUserMedia_ :: (MonadDOM m) => MediaDevices -> Maybe MediaStreamConstraints -> m ()
getUserMedia_ self constraints = liftDOM (void (((self ^. jsf "getUserMedia" [P.maybe (P.return jsUndefined) toJSVal constraints]) >>= readPromise)))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediadevices-ondevicechange devicechange event>
devicechange :: EventName MediaDevices DeviceChangeEvent
devicechange = unsafeEventName (toJSString "devicechange")