jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaRecorderOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediastream-recording (webref). Do not edit.
module JSDOM.Generated.MediaRecorderOptions
(newMediaRecorderOptions, setMimeType, getMimeType, getMimeTypeUnsafe, getMimeTypeUnchecked, setAudioBitsPerSecond, getAudioBitsPerSecond, getAudioBitsPerSecondUnsafe, getAudioBitsPerSecondUnchecked, setVideoBitsPerSecond, getVideoBitsPerSecond, getVideoBitsPerSecondUnsafe, getVideoBitsPerSecondUnchecked, setBitsPerSecond, getBitsPerSecond, getBitsPerSecondUnsafe, getBitsPerSecondUnchecked, setAudioBitrateMode, getAudioBitrateMode, getAudioBitrateModeUnsafe, getAudioBitrateModeUnchecked, setVideoKeyFrameIntervalDuration, getVideoKeyFrameIntervalDuration, getVideoKeyFrameIntervalDurationUnsafe, getVideoKeyFrameIntervalDurationUnchecked, setVideoKeyFrameIntervalCount, getVideoKeyFrameIntervalCount, getVideoKeyFrameIntervalCountUnsafe, getVideoKeyFrameIntervalCountUnchecked, MediaRecorderOptions(..), gTypeMediaRecorderOptions)
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-record/#dictdef-mediarecorderoptions MediaRecorderOptions specification>
newMediaRecorderOptions :: (MonadDOM m) => m MediaRecorderOptions
newMediaRecorderOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-mimetype MediaRecorderOptions.mimeType specification>
setMimeType :: (MonadDOM m, ToJSString val) => MediaRecorderOptions -> val -> m ()
setMimeType self val = liftDOM (void (self ^. jss "mimeType" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-mimetype MediaRecorderOptions.mimeType specification>
getMimeType :: (MonadDOM m, FromJSString result) => MediaRecorderOptions -> m (Maybe result)
getMimeType self = liftDOM (((self ^. js "mimeType") >>= fromMaybeJSString))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-mimetype MediaRecorderOptions.mimeType specification>
getMimeTypeUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => MediaRecorderOptions -> m result
getMimeTypeUnsafe self = liftDOM ((((self ^. js "mimeType") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-mimetype MediaRecorderOptions.mimeType specification>
getMimeTypeUnchecked :: (MonadDOM m, FromJSString result) => MediaRecorderOptions -> m result
getMimeTypeUnchecked self = liftDOM (((self ^. js "mimeType") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-audiobitspersecond MediaRecorderOptions.audioBitsPerSecond specification>
setAudioBitsPerSecond :: (MonadDOM m) => MediaRecorderOptions -> Word -> m ()
setAudioBitsPerSecond self val = liftDOM (void (self ^. jss "audioBitsPerSecond" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-audiobitspersecond MediaRecorderOptions.audioBitsPerSecond specification>
getAudioBitsPerSecond :: (MonadDOM m) => MediaRecorderOptions -> m (Maybe Word)
getAudioBitsPerSecond self = liftDOM (((self ^. js "audioBitsPerSecond") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-audiobitspersecond MediaRecorderOptions.audioBitsPerSecond specification>
getAudioBitsPerSecondUnsafe :: (MonadDOM m, HasCallStack) => MediaRecorderOptions -> m Word
getAudioBitsPerSecondUnsafe self = liftDOM ((((self ^. js "audioBitsPerSecond") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-audiobitspersecond MediaRecorderOptions.audioBitsPerSecond specification>
getAudioBitsPerSecondUnchecked :: (MonadDOM m) => MediaRecorderOptions -> m Word
getAudioBitsPerSecondUnchecked self = liftDOM ((P.round <$> ((self ^. js "audioBitsPerSecond") >>= valToNumber)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videobitspersecond MediaRecorderOptions.videoBitsPerSecond specification>
setVideoBitsPerSecond :: (MonadDOM m) => MediaRecorderOptions -> Word -> m ()
setVideoBitsPerSecond self val = liftDOM (void (self ^. jss "videoBitsPerSecond" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videobitspersecond MediaRecorderOptions.videoBitsPerSecond specification>
getVideoBitsPerSecond :: (MonadDOM m) => MediaRecorderOptions -> m (Maybe Word)
getVideoBitsPerSecond self = liftDOM (((self ^. js "videoBitsPerSecond") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videobitspersecond MediaRecorderOptions.videoBitsPerSecond specification>
getVideoBitsPerSecondUnsafe :: (MonadDOM m, HasCallStack) => MediaRecorderOptions -> m Word
getVideoBitsPerSecondUnsafe self = liftDOM ((((self ^. js "videoBitsPerSecond") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videobitspersecond MediaRecorderOptions.videoBitsPerSecond specification>
getVideoBitsPerSecondUnchecked :: (MonadDOM m) => MediaRecorderOptions -> m Word
getVideoBitsPerSecondUnchecked self = liftDOM ((P.round <$> ((self ^. js "videoBitsPerSecond") >>= valToNumber)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-bitspersecond MediaRecorderOptions.bitsPerSecond specification>
setBitsPerSecond :: (MonadDOM m) => MediaRecorderOptions -> Word -> m ()
setBitsPerSecond self val = liftDOM (void (self ^. jss "bitsPerSecond" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-bitspersecond MediaRecorderOptions.bitsPerSecond specification>
getBitsPerSecond :: (MonadDOM m) => MediaRecorderOptions -> m (Maybe Word)
getBitsPerSecond self = liftDOM (((self ^. js "bitsPerSecond") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-bitspersecond MediaRecorderOptions.bitsPerSecond specification>
getBitsPerSecondUnsafe :: (MonadDOM m, HasCallStack) => MediaRecorderOptions -> m Word
getBitsPerSecondUnsafe self = liftDOM ((((self ^. js "bitsPerSecond") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-bitspersecond MediaRecorderOptions.bitsPerSecond specification>
getBitsPerSecondUnchecked :: (MonadDOM m) => MediaRecorderOptions -> m Word
getBitsPerSecondUnchecked self = liftDOM ((P.round <$> ((self ^. js "bitsPerSecond") >>= valToNumber)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-audiobitratemode MediaRecorderOptions.audioBitrateMode specification>
setAudioBitrateMode :: (MonadDOM m) => MediaRecorderOptions -> BitrateMode -> m ()
setAudioBitrateMode self val = liftDOM (void (self ^. jss "audioBitrateMode" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-audiobitratemode MediaRecorderOptions.audioBitrateMode specification>
getAudioBitrateMode :: (MonadDOM m) => MediaRecorderOptions -> m (Maybe BitrateMode)
getAudioBitrateMode self = liftDOM (((self ^. js "audioBitrateMode") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-audiobitratemode MediaRecorderOptions.audioBitrateMode specification>
getAudioBitrateModeUnsafe :: (MonadDOM m, HasCallStack) => MediaRecorderOptions -> m BitrateMode
getAudioBitrateModeUnsafe self = liftDOM ((((self ^. js "audioBitrateMode") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-audiobitratemode MediaRecorderOptions.audioBitrateMode specification>
getAudioBitrateModeUnchecked :: (MonadDOM m) => MediaRecorderOptions -> m BitrateMode
getAudioBitrateModeUnchecked self = liftDOM (((self ^. js "audioBitrateMode") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videokeyframeintervalduration MediaRecorderOptions.videoKeyFrameIntervalDuration specification>
setVideoKeyFrameIntervalDuration :: (MonadDOM m) => MediaRecorderOptions -> Double -> m ()
setVideoKeyFrameIntervalDuration self val = liftDOM (void (self ^. jss "videoKeyFrameIntervalDuration" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videokeyframeintervalduration MediaRecorderOptions.videoKeyFrameIntervalDuration specification>
getVideoKeyFrameIntervalDuration :: (MonadDOM m) => MediaRecorderOptions -> m (Maybe Double)
getVideoKeyFrameIntervalDuration self = liftDOM (((self ^. js "videoKeyFrameIntervalDuration") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videokeyframeintervalduration MediaRecorderOptions.videoKeyFrameIntervalDuration specification>
getVideoKeyFrameIntervalDurationUnsafe :: (MonadDOM m, HasCallStack) => MediaRecorderOptions -> m Double
getVideoKeyFrameIntervalDurationUnsafe self = liftDOM ((((self ^. js "videoKeyFrameIntervalDuration") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videokeyframeintervalduration MediaRecorderOptions.videoKeyFrameIntervalDuration specification>
getVideoKeyFrameIntervalDurationUnchecked :: (MonadDOM m) => MediaRecorderOptions -> m Double
getVideoKeyFrameIntervalDurationUnchecked self = liftDOM (((self ^. js "videoKeyFrameIntervalDuration") >>= valToNumber))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videokeyframeintervalcount MediaRecorderOptions.videoKeyFrameIntervalCount specification>
setVideoKeyFrameIntervalCount :: (MonadDOM m) => MediaRecorderOptions -> Word -> m ()
setVideoKeyFrameIntervalCount self val = liftDOM (void (self ^. jss "videoKeyFrameIntervalCount" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videokeyframeintervalcount MediaRecorderOptions.videoKeyFrameIntervalCount specification>
getVideoKeyFrameIntervalCount :: (MonadDOM m) => MediaRecorderOptions -> m (Maybe Word)
getVideoKeyFrameIntervalCount self = liftDOM (((self ^. js "videoKeyFrameIntervalCount") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videokeyframeintervalcount MediaRecorderOptions.videoKeyFrameIntervalCount specification>
getVideoKeyFrameIntervalCountUnsafe :: (MonadDOM m, HasCallStack) => MediaRecorderOptions -> m Word
getVideoKeyFrameIntervalCountUnsafe self = liftDOM ((((self ^. js "videoKeyFrameIntervalCount") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorderoptions-videokeyframeintervalcount MediaRecorderOptions.videoKeyFrameIntervalCount specification>
getVideoKeyFrameIntervalCountUnchecked :: (MonadDOM m) => MediaRecorderOptions -> m Word
getVideoKeyFrameIntervalCountUnchecked self = liftDOM ((P.round <$> ((self ^. js "videoKeyFrameIntervalCount") >>= valToNumber)))