jsaddle-dom-0.10.0.0: src/JSDOM/Generated/MediaCapabilitiesDecodingInfo.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from media-capabilities (webref). Do not edit.
module JSDOM.Generated.MediaCapabilitiesDecodingInfo
(newMediaCapabilitiesDecodingInfo, setKeySystemAccess, getKeySystemAccess, getKeySystemAccessUnsafe, getKeySystemAccessUnchecked, setConfiguration, getConfiguration, MediaCapabilitiesDecodingInfo(..), gTypeMediaCapabilitiesDecodingInfo)
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/media-capabilities/#dictdef-mediacapabilitiesdecodinginfo MediaCapabilitiesDecodingInfo specification>
newMediaCapabilitiesDecodingInfo :: (MonadDOM m) => Bool -> Bool -> Bool -> Maybe MediaKeySystemAccess -> MediaDecodingConfiguration -> m MediaCapabilitiesDecodingInfo
newMediaCapabilitiesDecodingInfo supported smooth powerEfficient keySystemAccess configuration = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "supported" (toJSVal supported)) P.>> (o ^. jss "smooth" (toJSVal smooth)) P.>> (o ^. jss "powerEfficient" (toJSVal powerEfficient)) P.>> (o ^. jss "keySystemAccess" (toJSVal keySystemAccess)) P.>> (o ^. jss "configuration" (toJSVal configuration)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-mediacapabilitiesdecodinginfo-keysystemaccess MediaCapabilitiesDecodingInfo.keySystemAccess specification>
setKeySystemAccess :: (MonadDOM m) => MediaCapabilitiesDecodingInfo -> Maybe MediaKeySystemAccess -> m ()
setKeySystemAccess self val = liftDOM (void (self ^. jss "keySystemAccess" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-mediacapabilitiesdecodinginfo-keysystemaccess MediaCapabilitiesDecodingInfo.keySystemAccess specification>
getKeySystemAccess :: (MonadDOM m) => MediaCapabilitiesDecodingInfo -> m (Maybe MediaKeySystemAccess)
getKeySystemAccess self = liftDOM (((self ^. js "keySystemAccess") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-mediacapabilitiesdecodinginfo-keysystemaccess MediaCapabilitiesDecodingInfo.keySystemAccess specification>
getKeySystemAccessUnsafe :: (MonadDOM m, HasCallStack) => MediaCapabilitiesDecodingInfo -> m MediaKeySystemAccess
getKeySystemAccessUnsafe self = liftDOM ((((self ^. js "keySystemAccess") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/media-capabilities/#dom-mediacapabilitiesdecodinginfo-keysystemaccess MediaCapabilitiesDecodingInfo.keySystemAccess specification>
getKeySystemAccessUnchecked :: (MonadDOM m) => MediaCapabilitiesDecodingInfo -> m MediaKeySystemAccess
getKeySystemAccessUnchecked self = liftDOM (((self ^. js "keySystemAccess") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/media-capabilities/#dom-mediacapabilitiesdecodinginfo-configuration MediaCapabilitiesDecodingInfo.configuration specification>
setConfiguration :: (MonadDOM m) => MediaCapabilitiesDecodingInfo -> MediaDecodingConfiguration -> m ()
setConfiguration self val = liftDOM (void (self ^. jss "configuration" (toJSVal val)))
-- | <https://w3c.github.io/media-capabilities/#dom-mediacapabilitiesdecodinginfo-configuration MediaCapabilitiesDecodingInfo.configuration specification>
getConfiguration :: (MonadDOM m) => MediaCapabilitiesDecodingInfo -> m MediaDecodingConfiguration
getConfiguration self = liftDOM (((self ^. js "configuration") >>= fromJSValUnchecked))