jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaSource.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from media-source-2 (webref). Do not edit.
module JSDOM.Generated.MediaSource
(newMediaSource, addSourceBuffer, addSourceBuffer_, clearLiveSeekableRange, endOfStream, removeSourceBuffer, setLiveSeekableRange, isTypeSupported, isTypeSupported_, getHandle, getSourceBuffers, getActiveSourceBuffers, getReadyState, setDuration, getDuration, getCanConstructInDedicatedWorkerStatic, sourceopen, sourceended, sourceclose, MediaSource(..), gTypeMediaSource)
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/MediaSource/MediaSource MDN MediaSource. documentation>
newMediaSource :: (MonadDOM m) => m MediaSource
newMediaSource = liftDOM (((new (jsg "MediaSource") ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/addSourceBuffer MDN MediaSource.addSourceBuffer documentation>
addSourceBuffer :: (MonadDOM m, ToJSString type') => MediaSource -> type' -> m SourceBuffer
addSourceBuffer self type' = liftDOM (((self ^. jsf "addSourceBuffer" [toJSVal type']) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/addSourceBuffer MDN MediaSource.addSourceBuffer documentation>
addSourceBuffer_ :: (MonadDOM m, ToJSString type') => MediaSource -> type' -> m ()
addSourceBuffer_ self type' = liftDOM (void (self ^. jsf "addSourceBuffer" [toJSVal type']))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/clearLiveSeekableRange MDN MediaSource.clearLiveSeekableRange documentation>
clearLiveSeekableRange :: (MonadDOM m) => MediaSource -> m ()
clearLiveSeekableRange self = liftDOM (void (self ^. jsf "clearLiveSeekableRange" ()))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/endOfStream MDN MediaSource.endOfStream documentation>
endOfStream :: (MonadDOM m) => MediaSource -> Maybe EndOfStreamError -> m ()
endOfStream self error = liftDOM (void (self ^. jsf "endOfStream" [P.maybe (P.return jsUndefined) toJSVal error]))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/removeSourceBuffer MDN MediaSource.removeSourceBuffer documentation>
removeSourceBuffer :: (MonadDOM m) => MediaSource -> SourceBuffer -> m ()
removeSourceBuffer self sourceBuffer = liftDOM (void (self ^. jsf "removeSourceBuffer" [toJSVal sourceBuffer]))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/setLiveSeekableRange MDN MediaSource.setLiveSeekableRange documentation>
setLiveSeekableRange :: (MonadDOM m) => MediaSource -> Double -> Double -> m ()
setLiveSeekableRange self start end = liftDOM (void (self ^. jsf "setLiveSeekableRange" [toJSVal start, toJSVal end]))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/isTypeSupported_static MDN MediaSource.isTypeSupported documentation>
isTypeSupported :: (MonadDOM m, ToJSString type') => type' -> m Bool
isTypeSupported type' = liftDOM ((((jsg "MediaSource") ^. jsf "isTypeSupported" [toJSVal type']) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/isTypeSupported_static MDN MediaSource.isTypeSupported documentation>
isTypeSupported_ :: (MonadDOM m, ToJSString type') => type' -> m ()
isTypeSupported_ type' = liftDOM (void ((jsg "MediaSource") ^. jsf "isTypeSupported" [toJSVal type']))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/handle MDN MediaSource.handle documentation>
getHandle :: (MonadDOM m) => MediaSource -> m MediaSourceHandle
getHandle self = liftDOM (((self ^. js "handle") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/sourceBuffers MDN MediaSource.sourceBuffers documentation>
getSourceBuffers :: (MonadDOM m) => MediaSource -> m SourceBufferList
getSourceBuffers self = liftDOM (((self ^. js "sourceBuffers") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/activeSourceBuffers MDN MediaSource.activeSourceBuffers documentation>
getActiveSourceBuffers :: (MonadDOM m) => MediaSource -> m SourceBufferList
getActiveSourceBuffers self = liftDOM (((self ^. js "activeSourceBuffers") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/readyState MDN MediaSource.readyState documentation>
getReadyState :: (MonadDOM m) => MediaSource -> m ReadyState
getReadyState self = liftDOM (((self ^. js "readyState") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/duration MDN MediaSource.duration documentation>
setDuration :: (MonadDOM m) => MediaSource -> Double -> m ()
setDuration self val = liftDOM (void (self ^. jss "duration" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/duration MDN MediaSource.duration documentation>
getDuration :: (MonadDOM m) => MediaSource -> m Double
getDuration self = liftDOM (((self ^. js "duration") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/MediaSource/canConstructInDedicatedWorker_static MDN MediaSource.canConstructInDedicatedWorker documentation>
getCanConstructInDedicatedWorkerStatic :: (MonadDOM m) => m Bool
getCanConstructInDedicatedWorkerStatic = liftDOM ((((jsg "MediaSource") ^. js "canConstructInDedicatedWorker") >>= valToBool))
-- | <https://w3c.github.io/media-source/#dom-mediasource-onsourceopen sourceopen event>
sourceopen :: EventName MediaSource Event
sourceopen = unsafeEventName (toJSString "sourceopen")
-- | <https://w3c.github.io/media-source/#dom-mediasource-onsourceended sourceended event>
sourceended :: EventName MediaSource Event
sourceended = unsafeEventName (toJSString "sourceended")
-- | <https://w3c.github.io/media-source/#dom-mediasource-onsourceclose sourceclose event>
sourceclose :: EventName MediaSource Event
sourceclose = unsafeEventName (toJSString "sourceclose")