packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/MediaRecorder.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediastream-recording (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.MediaRecorder
       (js_newMediaRecorder, js_pause, js_requestData, js_resume, js_start, js_stop, js_isTypeSupported, js_getStream, js_getMimeType, js_getState, js_getVideoBitsPerSecond, js_getAudioBitsPerSecond, newMediaRecorder, pause, requestData, resume, start, stop, isTypeSupported, isTypeSupported_, getStream, getMimeType, getState, getVideoBitsPerSecond, getAudioBitsPerSecond, startEvent, stopEvent, dataavailable, pauseEvent, resumeEvent, error, MediaRecorder(..), gTypeMediaRecorder)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2) => { return new globalThis[\"MediaRecorder\"]($1, $2); })"
        js_newMediaRecorder :: MediaStream -> JSVal -> IO MediaRecorder
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/MediaRecorder MDN MediaRecorder. documentation>
newMediaRecorder :: (MonadDOM m) => MediaStream -> Maybe MediaRecorderOptions -> m MediaRecorder
newMediaRecorder stream options = liftDOM (((P.maybe (P.return jsUndefined) toJSVal options) >>= \a2' -> js_newMediaRecorder (stream) a2'))

foreign import javascript safe "(($1) => { return $1[\"pause\"](); })"
        js_pause :: MediaRecorder -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/pause MDN MediaRecorder.pause documentation>
pause :: (MonadDOM m) => MediaRecorder -> m ()
pause self = liftDOM (void ((js_pause (self))))

foreign import javascript safe "(($1) => { return $1[\"requestData\"](); })"
        js_requestData :: MediaRecorder -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/requestData MDN MediaRecorder.requestData documentation>
requestData :: (MonadDOM m) => MediaRecorder -> m ()
requestData self = liftDOM (void ((js_requestData (self))))

foreign import javascript safe "(($1) => { return $1[\"resume\"](); })"
        js_resume :: MediaRecorder -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/resume MDN MediaRecorder.resume documentation>
resume :: (MonadDOM m) => MediaRecorder -> m ()
resume self = liftDOM (void ((js_resume (self))))

foreign import javascript safe "(($1, $2) => { return $1[\"start\"]($2); })"
        js_start :: MediaRecorder -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/start MDN MediaRecorder.start documentation>
start :: (MonadDOM m) => MediaRecorder -> Maybe Word -> m ()
start self timeslice = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal timeslice) >>= \a2' -> js_start (self) a2')))

foreign import javascript safe "(($1) => { return $1[\"stop\"](); })"
        js_stop :: MediaRecorder -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/stop MDN MediaRecorder.stop documentation>
stop :: (MonadDOM m) => MediaRecorder -> m ()
stop self = liftDOM (void ((js_stop (self))))

foreign import javascript safe "(($1) => { return globalThis[\"MediaRecorder\"][\"isTypeSupported\"]($1); })"
        js_isTypeSupported :: JSString -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/isTypeSupported_static MDN MediaRecorder.isTypeSupported documentation>
isTypeSupported :: (MonadDOM m, ToJSString type') => type' -> m Bool
isTypeSupported type' = liftDOM ((js_isTypeSupported (toJSString type')))

-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/isTypeSupported_static MDN MediaRecorder.isTypeSupported documentation>
isTypeSupported_ :: (MonadDOM m, ToJSString type') => type' -> m ()
isTypeSupported_ type' = liftDOM (void ((js_isTypeSupported (toJSString type'))))

foreign import javascript unsafe "(($1) => { return $1[\"stream\"]; })"
        js_getStream :: MediaRecorder -> IO MediaStream
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/stream MDN MediaRecorder.stream documentation>
getStream :: (MonadDOM m) => MediaRecorder -> m MediaStream
getStream self = liftDOM ((js_getStream (self)))

foreign import javascript unsafe "(($1) => { return $1[\"mimeType\"]; })"
        js_getMimeType :: MediaRecorder -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/mimeType MDN MediaRecorder.mimeType documentation>
getMimeType :: (MonadDOM m, FromJSString result) => MediaRecorder -> m result
getMimeType self = liftDOM ((fromJSString <$> (js_getMimeType (self))))

foreign import javascript unsafe "(($1) => { return $1[\"state\"]; })"
        js_getState :: MediaRecorder -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/state MDN MediaRecorder.state documentation>
getState :: (MonadDOM m) => MediaRecorder -> m RecordingState
getState self = liftDOM (((js_getState (self)) >>= fromJSValUnchecked))

foreign import javascript unsafe "(($1) => { return $1[\"videoBitsPerSecond\"]; })"
        js_getVideoBitsPerSecond :: MediaRecorder -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/videoBitsPerSecond MDN MediaRecorder.videoBitsPerSecond documentation>
getVideoBitsPerSecond :: (MonadDOM m) => MediaRecorder -> m Word
getVideoBitsPerSecond self = liftDOM ((js_getVideoBitsPerSecond (self)))

foreign import javascript unsafe "(($1) => { return $1[\"audioBitsPerSecond\"]; })"
        js_getAudioBitsPerSecond :: MediaRecorder -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/MediaRecorder/audioBitsPerSecond MDN MediaRecorder.audioBitsPerSecond documentation>
getAudioBitsPerSecond :: (MonadDOM m) => MediaRecorder -> m Word
getAudioBitsPerSecond self = liftDOM ((js_getAudioBitsPerSecond (self)))

-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorder-onstart start event>
startEvent :: EventName MediaRecorder Event
startEvent = unsafeEventName (toJSString "start")

-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorder-onstop stop event>
stopEvent :: EventName MediaRecorder Event
stopEvent = unsafeEventName (toJSString "stop")

-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorder-ondataavailable dataavailable event>
dataavailable :: EventName MediaRecorder BlobEvent
dataavailable = unsafeEventName (toJSString "dataavailable")

-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorder-onpause pause event>
pauseEvent :: EventName MediaRecorder Event
pauseEvent = unsafeEventName (toJSString "pause")

-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorder-onresume resume event>
resumeEvent :: EventName MediaRecorder Event
resumeEvent = unsafeEventName (toJSString "resume")

-- | <https://w3c.github.io/mediacapture-record/#dom-mediarecorder-onerror error event>
error :: EventName MediaRecorder ErrorEvent
error = unsafeEventNameAsync (toJSString "error")