packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaStreamTrackProcessorInit.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediacapture-transform (webref). Do not edit.
module JSDOM.Generated.MediaStreamTrackProcessorInit
       (newMediaStreamTrackProcessorInit, setTrack, getTrack, setMaxBufferSize, getMaxBufferSize, getMaxBufferSizeUnsafe, getMaxBufferSizeUnchecked, MediaStreamTrackProcessorInit(..), gTypeMediaStreamTrackProcessorInit)
       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-transform/#dictdef-mediastreamtrackprocessorinit MediaStreamTrackProcessorInit specification>
newMediaStreamTrackProcessorInit :: (MonadDOM m, IsMediaStreamTrackOrHandle track) => track -> m MediaStreamTrackProcessorInit
newMediaStreamTrackProcessorInit track = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "track" (toJSVal track)) P.>> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-transform/#dom-mediastreamtrackprocessorinit-track MediaStreamTrackProcessorInit.track specification>
setTrack :: (MonadDOM m, IsMediaStreamTrackOrHandle val) => MediaStreamTrackProcessorInit -> val -> m ()
setTrack self val = liftDOM (void (self ^. jss "track" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-transform/#dom-mediastreamtrackprocessorinit-track MediaStreamTrackProcessorInit.track specification>
getTrack :: (MonadDOM m) => MediaStreamTrackProcessorInit -> m MediaStreamTrackOrHandle
getTrack self = liftDOM (((self ^. js "track") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-transform/#dom-mediastreamtrackprocessorinit-maxbuffersize MediaStreamTrackProcessorInit.maxBufferSize specification>
setMaxBufferSize :: (MonadDOM m) => MediaStreamTrackProcessorInit -> Word -> m ()
setMaxBufferSize self val = liftDOM (void (self ^. jss "maxBufferSize" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-transform/#dom-mediastreamtrackprocessorinit-maxbuffersize MediaStreamTrackProcessorInit.maxBufferSize specification>
getMaxBufferSize :: (MonadDOM m) => MediaStreamTrackProcessorInit -> m (Maybe Word)
getMaxBufferSize self = liftDOM (((self ^. js "maxBufferSize") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-transform/#dom-mediastreamtrackprocessorinit-maxbuffersize MediaStreamTrackProcessorInit.maxBufferSize specification>
getMaxBufferSizeUnsafe :: (MonadDOM m, HasCallStack) => MediaStreamTrackProcessorInit -> m Word
getMaxBufferSizeUnsafe self = liftDOM ((((self ^. js "maxBufferSize") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-transform/#dom-mediastreamtrackprocessorinit-maxbuffersize MediaStreamTrackProcessorInit.maxBufferSize specification>
getMaxBufferSizeUnchecked :: (MonadDOM m) => MediaStreamTrackProcessorInit -> m Word
getMaxBufferSizeUnchecked self = liftDOM ((P.round <$> ((self ^. js "maxBufferSize") >>= valToNumber)))