jsaddle-dom-0.10.0.0: src/JSDOM/Generated/GPURequestAdapterOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webgpu (webref). Do not edit.
module JSDOM.Generated.GPURequestAdapterOptions
(newGPURequestAdapterOptions, setFeatureLevel, getFeatureLevel, getFeatureLevelUnsafe, getFeatureLevelUnchecked, setPowerPreference, getPowerPreference, getPowerPreferenceUnsafe, getPowerPreferenceUnchecked, setForceFallbackAdapter, getForceFallbackAdapter, getForceFallbackAdapterUnsafe, getForceFallbackAdapterUnchecked, setXrCompatible, getXrCompatible, getXrCompatibleUnsafe, getXrCompatibleUnchecked, GPURequestAdapterOptions(..), gTypeGPURequestAdapterOptions)
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://gpuweb.github.io/gpuweb/#dictdef-gpurequestadapteroptions GPURequestAdapterOptions specification>
newGPURequestAdapterOptions :: (MonadDOM m) => m GPURequestAdapterOptions
newGPURequestAdapterOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-featurelevel GPURequestAdapterOptions.featureLevel specification>
setFeatureLevel :: (MonadDOM m, ToJSString val) => GPURequestAdapterOptions -> val -> m ()
setFeatureLevel self val = liftDOM (void (self ^. jss "featureLevel" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-featurelevel GPURequestAdapterOptions.featureLevel specification>
getFeatureLevel :: (MonadDOM m, FromJSString result) => GPURequestAdapterOptions -> m (Maybe result)
getFeatureLevel self = liftDOM (((self ^. js "featureLevel") >>= fromMaybeJSString))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-featurelevel GPURequestAdapterOptions.featureLevel specification>
getFeatureLevelUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => GPURequestAdapterOptions -> m result
getFeatureLevelUnsafe self = liftDOM ((((self ^. js "featureLevel") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-featurelevel GPURequestAdapterOptions.featureLevel specification>
getFeatureLevelUnchecked :: (MonadDOM m, FromJSString result) => GPURequestAdapterOptions -> m result
getFeatureLevelUnchecked self = liftDOM (((self ^. js "featureLevel") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-powerpreference GPURequestAdapterOptions.powerPreference specification>
setPowerPreference :: (MonadDOM m) => GPURequestAdapterOptions -> GPUPowerPreference -> m ()
setPowerPreference self val = liftDOM (void (self ^. jss "powerPreference" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-powerpreference GPURequestAdapterOptions.powerPreference specification>
getPowerPreference :: (MonadDOM m) => GPURequestAdapterOptions -> m (Maybe GPUPowerPreference)
getPowerPreference self = liftDOM (((self ^. js "powerPreference") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-powerpreference GPURequestAdapterOptions.powerPreference specification>
getPowerPreferenceUnsafe :: (MonadDOM m, HasCallStack) => GPURequestAdapterOptions -> m GPUPowerPreference
getPowerPreferenceUnsafe self = liftDOM ((((self ^. js "powerPreference") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-powerpreference GPURequestAdapterOptions.powerPreference specification>
getPowerPreferenceUnchecked :: (MonadDOM m) => GPURequestAdapterOptions -> m GPUPowerPreference
getPowerPreferenceUnchecked self = liftDOM (((self ^. js "powerPreference") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-forcefallbackadapter GPURequestAdapterOptions.forceFallbackAdapter specification>
setForceFallbackAdapter :: (MonadDOM m) => GPURequestAdapterOptions -> Bool -> m ()
setForceFallbackAdapter self val = liftDOM (void (self ^. jss "forceFallbackAdapter" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-forcefallbackadapter GPURequestAdapterOptions.forceFallbackAdapter specification>
getForceFallbackAdapter :: (MonadDOM m) => GPURequestAdapterOptions -> m (Maybe Bool)
getForceFallbackAdapter self = liftDOM (((self ^. js "forceFallbackAdapter") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-forcefallbackadapter GPURequestAdapterOptions.forceFallbackAdapter specification>
getForceFallbackAdapterUnsafe :: (MonadDOM m, HasCallStack) => GPURequestAdapterOptions -> m Bool
getForceFallbackAdapterUnsafe self = liftDOM ((((self ^. js "forceFallbackAdapter") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-forcefallbackadapter GPURequestAdapterOptions.forceFallbackAdapter specification>
getForceFallbackAdapterUnchecked :: (MonadDOM m) => GPURequestAdapterOptions -> m Bool
getForceFallbackAdapterUnchecked self = liftDOM (((self ^. js "forceFallbackAdapter") >>= valToBool))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-xrcompatible GPURequestAdapterOptions.xrCompatible specification>
setXrCompatible :: (MonadDOM m) => GPURequestAdapterOptions -> Bool -> m ()
setXrCompatible self val = liftDOM (void (self ^. jss "xrCompatible" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-xrcompatible GPURequestAdapterOptions.xrCompatible specification>
getXrCompatible :: (MonadDOM m) => GPURequestAdapterOptions -> m (Maybe Bool)
getXrCompatible self = liftDOM (((self ^. js "xrCompatible") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-xrcompatible GPURequestAdapterOptions.xrCompatible specification>
getXrCompatibleUnsafe :: (MonadDOM m, HasCallStack) => GPURequestAdapterOptions -> m Bool
getXrCompatibleUnsafe self = liftDOM ((((self ^. js "xrCompatible") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurequestadapteroptions-xrcompatible GPURequestAdapterOptions.xrCompatible specification>
getXrCompatibleUnchecked :: (MonadDOM m) => GPURequestAdapterOptions -> m Bool
getXrCompatibleUnchecked self = liftDOM (((self ^. js "xrCompatible") >>= valToBool))