packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaStreamConstraints.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.MediaStreamConstraints
       (newMediaStreamConstraints, setVideo, getVideo, getVideoUnsafe, getVideoUnchecked, setAudio, getAudio, getAudioUnsafe, getAudioUnchecked, setSemantics, getSemantics, getSemanticsUnsafe, getSemanticsUnchecked, setPreferCurrentTab, getPreferCurrentTab, getPreferCurrentTabUnsafe, getPreferCurrentTabUnchecked, setPeerIdentity, getPeerIdentity, getPeerIdentityUnsafe, getPeerIdentityUnchecked, MediaStreamConstraints(..), gTypeMediaStreamConstraints)
       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://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints MediaStreamConstraints specification>
newMediaStreamConstraints :: (MonadDOM m) => m MediaStreamConstraints
newMediaStreamConstraints = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints-video MediaStreamConstraints.video specification>
setVideo :: (MonadDOM m, IsBoolOrMediaTrackConstraints val) => MediaStreamConstraints -> val -> m ()
setVideo self val = liftDOM (void (self ^. jss "video" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints-video MediaStreamConstraints.video specification>
getVideo :: (MonadDOM m) => MediaStreamConstraints -> m (Maybe BoolOrMediaTrackConstraints)
getVideo self = liftDOM (((self ^. js "video") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints-video MediaStreamConstraints.video specification>
getVideoUnsafe :: (MonadDOM m, HasCallStack) => MediaStreamConstraints -> m BoolOrMediaTrackConstraints
getVideoUnsafe self = liftDOM ((((self ^. js "video") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints-video MediaStreamConstraints.video specification>
getVideoUnchecked :: (MonadDOM m) => MediaStreamConstraints -> m BoolOrMediaTrackConstraints
getVideoUnchecked self = liftDOM (((self ^. js "video") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints-audio MediaStreamConstraints.audio specification>
setAudio :: (MonadDOM m, IsBoolOrMediaTrackConstraints val) => MediaStreamConstraints -> val -> m ()
setAudio self val = liftDOM (void (self ^. jss "audio" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints-audio MediaStreamConstraints.audio specification>
getAudio :: (MonadDOM m) => MediaStreamConstraints -> m (Maybe BoolOrMediaTrackConstraints)
getAudio self = liftDOM (((self ^. js "audio") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints-audio MediaStreamConstraints.audio specification>
getAudioUnsafe :: (MonadDOM m, HasCallStack) => MediaStreamConstraints -> m BoolOrMediaTrackConstraints
getAudioUnsafe self = liftDOM ((((self ^. js "audio") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-main/#dom-mediastreamconstraints-audio MediaStreamConstraints.audio specification>
getAudioUnchecked :: (MonadDOM m) => MediaStreamConstraints -> m BoolOrMediaTrackConstraints
getAudioUnchecked self = liftDOM (((self ^. js "audio") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-mediastreamconstraints-semantics MediaStreamConstraints.semantics specification>
setSemantics :: (MonadDOM m) => MediaStreamConstraints -> GetUserMediaSemantics -> m ()
setSemantics self val = liftDOM (void (self ^. jss "semantics" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-mediastreamconstraints-semantics MediaStreamConstraints.semantics specification>
getSemantics :: (MonadDOM m) => MediaStreamConstraints -> m (Maybe GetUserMediaSemantics)
getSemantics self = liftDOM (((self ^. js "semantics") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-mediastreamconstraints-semantics MediaStreamConstraints.semantics specification>
getSemanticsUnsafe :: (MonadDOM m, HasCallStack) => MediaStreamConstraints -> m GetUserMediaSemantics
getSemanticsUnsafe self = liftDOM ((((self ^. js "semantics") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-mediastreamconstraints-semantics MediaStreamConstraints.semantics specification>
getSemanticsUnchecked :: (MonadDOM m) => MediaStreamConstraints -> m GetUserMediaSemantics
getSemanticsUnchecked self = liftDOM (((self ^. js "semantics") >>= fromJSValUnchecked))

-- | <https://wicg.github.io/prefer-current-tab/#dom-mediastreamconstraints-prefercurrenttab MediaStreamConstraints.preferCurrentTab specification>
setPreferCurrentTab :: (MonadDOM m) => MediaStreamConstraints -> Bool -> m ()
setPreferCurrentTab self val = liftDOM (void (self ^. jss "preferCurrentTab" (toJSVal val)))

-- | <https://wicg.github.io/prefer-current-tab/#dom-mediastreamconstraints-prefercurrenttab MediaStreamConstraints.preferCurrentTab specification>
getPreferCurrentTab :: (MonadDOM m) => MediaStreamConstraints -> m (Maybe Bool)
getPreferCurrentTab self = liftDOM (((self ^. js "preferCurrentTab") >>= fromJSValUnchecked))

-- | <https://wicg.github.io/prefer-current-tab/#dom-mediastreamconstraints-prefercurrenttab MediaStreamConstraints.preferCurrentTab specification>
getPreferCurrentTabUnsafe :: (MonadDOM m, HasCallStack) => MediaStreamConstraints -> m Bool
getPreferCurrentTabUnsafe self = liftDOM ((((self ^. js "preferCurrentTab") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://wicg.github.io/prefer-current-tab/#dom-mediastreamconstraints-prefercurrenttab MediaStreamConstraints.preferCurrentTab specification>
getPreferCurrentTabUnchecked :: (MonadDOM m) => MediaStreamConstraints -> m Bool
getPreferCurrentTabUnchecked self = liftDOM (((self ^. js "preferCurrentTab") >>= valToBool))

-- | <https://w3c.github.io/webrtc-identity/#dom-mediastreamconstraints-peeridentity MediaStreamConstraints.peerIdentity specification>
setPeerIdentity :: (MonadDOM m, ToJSString val) => MediaStreamConstraints -> val -> m ()
setPeerIdentity self val = liftDOM (void (self ^. jss "peerIdentity" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-identity/#dom-mediastreamconstraints-peeridentity MediaStreamConstraints.peerIdentity specification>
getPeerIdentity :: (MonadDOM m, FromJSString result) => MediaStreamConstraints -> m (Maybe result)
getPeerIdentity self = liftDOM (((self ^. js "peerIdentity") >>= fromMaybeJSString))

-- | <https://w3c.github.io/webrtc-identity/#dom-mediastreamconstraints-peeridentity MediaStreamConstraints.peerIdentity specification>
getPeerIdentityUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => MediaStreamConstraints -> m result
getPeerIdentityUnsafe self = liftDOM ((((self ^. js "peerIdentity") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-identity/#dom-mediastreamconstraints-peeridentity MediaStreamConstraints.peerIdentity specification>
getPeerIdentityUnchecked :: (MonadDOM m, FromJSString result) => MediaStreamConstraints -> m result
getPeerIdentityUnchecked self = liftDOM (((self ^. js "peerIdentity") >>= fromJSValUnchecked))