packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webrtc-encoded-transform (webref). Do not edit.
module JSDOM.Generated.WorkerAndParameters
       (newWorkerAndParameters, setWorker, getWorker, setType, getType, getTypeUnsafe, getTypeUnchecked, WorkerAndParameters(..), gTypeWorkerAndParameters)
       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/webrtc-encoded-transform/#dictdef-workerandparameters WorkerAndParameters specification>
newWorkerAndParameters :: (MonadDOM m) => Worker -> m WorkerAndParameters
newWorkerAndParameters worker = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "worker" (toJSVal worker)) P.>> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-encoded-transform/#dom-workerandparameters-worker WorkerAndParameters.worker specification>
setWorker :: (MonadDOM m) => WorkerAndParameters -> Worker -> m ()
setWorker self val = liftDOM (void (self ^. jss "worker" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-encoded-transform/#dom-workerandparameters-worker WorkerAndParameters.worker specification>
getWorker :: (MonadDOM m) => WorkerAndParameters -> m Worker
getWorker self = liftDOM (((self ^. js "worker") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-encoded-transform/#dom-workerandparameters-type WorkerAndParameters.type specification>
setType :: (MonadDOM m) => WorkerAndParameters -> RTCRtpScriptTransformType -> m ()
setType self val = liftDOM (void (self ^. jss "type" (toJSVal val)))

-- | <https://w3c.github.io/webrtc-encoded-transform/#dom-workerandparameters-type WorkerAndParameters.type specification>
getType :: (MonadDOM m) => WorkerAndParameters -> m (Maybe RTCRtpScriptTransformType)
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webrtc-encoded-transform/#dom-workerandparameters-type WorkerAndParameters.type specification>
getTypeUnsafe :: (MonadDOM m, HasCallStack) => WorkerAndParameters -> m RTCRtpScriptTransformType
getTypeUnsafe self = liftDOM ((((self ^. js "type") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webrtc-encoded-transform/#dom-workerandparameters-type WorkerAndParameters.type specification>
getTypeUnchecked :: (MonadDOM m) => WorkerAndParameters -> m RTCRtpScriptTransformType
getTypeUnchecked self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))