packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/KeySystemTrackConfiguration.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.KeySystemTrackConfiguration
       (newKeySystemTrackConfiguration, setRobustness, getRobustness, getRobustnessUnsafe, getRobustnessUnchecked, setEncryptionScheme, getEncryptionScheme, getEncryptionSchemeUnsafe, getEncryptionSchemeUnchecked, KeySystemTrackConfiguration(..), gTypeKeySystemTrackConfiguration)
       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-keysystemtrackconfiguration KeySystemTrackConfiguration specification>
newKeySystemTrackConfiguration :: (MonadDOM m) => m KeySystemTrackConfiguration
newKeySystemTrackConfiguration = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-robustness KeySystemTrackConfiguration.robustness specification>
setRobustness :: (MonadDOM m, ToJSString val) => KeySystemTrackConfiguration -> val -> m ()
setRobustness self val = liftDOM (void (self ^. jss "robustness" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-robustness KeySystemTrackConfiguration.robustness specification>
getRobustness :: (MonadDOM m, FromJSString result) => KeySystemTrackConfiguration -> m (Maybe result)
getRobustness self = liftDOM (((self ^. js "robustness") >>= fromMaybeJSString))

-- | <https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-robustness KeySystemTrackConfiguration.robustness specification>
getRobustnessUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => KeySystemTrackConfiguration -> m result
getRobustnessUnsafe self = liftDOM ((((self ^. js "robustness") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-robustness KeySystemTrackConfiguration.robustness specification>
getRobustnessUnchecked :: (MonadDOM m, FromJSString result) => KeySystemTrackConfiguration -> m result
getRobustnessUnchecked self = liftDOM (((self ^. js "robustness") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-encryptionscheme KeySystemTrackConfiguration.encryptionScheme specification>
setEncryptionScheme :: (MonadDOM m, ToJSString val) => KeySystemTrackConfiguration -> Maybe val -> m ()
setEncryptionScheme self val = liftDOM (void (self ^. jss "encryptionScheme" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-encryptionscheme KeySystemTrackConfiguration.encryptionScheme specification>
getEncryptionScheme :: (MonadDOM m, FromJSString result) => KeySystemTrackConfiguration -> m (Maybe result)
getEncryptionScheme self = liftDOM (((self ^. js "encryptionScheme") >>= fromMaybeJSString))

-- | <https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-encryptionscheme KeySystemTrackConfiguration.encryptionScheme specification>
getEncryptionSchemeUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => KeySystemTrackConfiguration -> m result
getEncryptionSchemeUnsafe self = liftDOM ((((self ^. js "encryptionScheme") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/media-capabilities/#dom-keysystemtrackconfiguration-encryptionscheme KeySystemTrackConfiguration.encryptionScheme specification>
getEncryptionSchemeUnchecked :: (MonadDOM m, FromJSString result) => KeySystemTrackConfiguration -> m result
getEncryptionSchemeUnchecked self = liftDOM (((self ^. js "encryptionScheme") >>= fromJSValUnchecked))