packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/GPUObjectDescriptorBase.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webgpu (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.GPUObjectDescriptorBase
       (js_newGPUObjectDescriptorBase, js_setLabel, js_getLabel, newGPUObjectDescriptorBase, setLabel, getLabel, getLabelUnsafe, getLabelUnchecked, GPUObjectDescriptorBase(..), gTypeGPUObjectDescriptorBase, IsGPUObjectDescriptorBase, toGPUObjectDescriptorBase)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(() => { return ({}); })"
        js_newGPUObjectDescriptorBase :: IO GPUObjectDescriptorBase
-- | <https://gpuweb.github.io/gpuweb/#dictdef-gpuobjectdescriptorbase GPUObjectDescriptorBase specification>
newGPUObjectDescriptorBase :: (MonadDOM m) => m GPUObjectDescriptorBase
newGPUObjectDescriptorBase = liftDOM ((js_newGPUObjectDescriptorBase))

foreign import javascript safe "(($1, $2) => { $1[\"label\"] = $2; })"
        js_setLabel :: GPUObjectDescriptorBase -> JSString -> IO ()
-- | <https://gpuweb.github.io/gpuweb/#dom-gpuobjectdescriptorbase-label GPUObjectDescriptorBase.label specification>
setLabel :: (MonadDOM m, IsGPUObjectDescriptorBase self, ToJSString val) => self -> val -> m ()
setLabel self val = liftDOM (void ((js_setLabel ((Types.toGPUObjectDescriptorBase self)) (toJSString val))))

foreign import javascript unsafe "(($1) => { return $1[\"label\"]; })"
        js_getLabel :: GPUObjectDescriptorBase -> IO JSVal
-- | <https://gpuweb.github.io/gpuweb/#dom-gpuobjectdescriptorbase-label GPUObjectDescriptorBase.label specification>
getLabel :: (MonadDOM m, IsGPUObjectDescriptorBase self, FromJSString result) => self -> m (Maybe result)
getLabel self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getLabel ((Types.toGPUObjectDescriptorBase self)))))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpuobjectdescriptorbase-label GPUObjectDescriptorBase.label specification>
getLabelUnsafe :: (MonadDOM m, IsGPUObjectDescriptorBase self, HasCallStack, FromJSString result) => self -> m result
getLabelUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getLabel ((Types.toGPUObjectDescriptorBase self)))) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpuobjectdescriptorbase-label GPUObjectDescriptorBase.label specification>
getLabelUnchecked :: (MonadDOM m, IsGPUObjectDescriptorBase self, FromJSString result) => self -> m result
getLabelUnchecked self = liftDOM ((pFromJSVal <$> (js_getLabel ((Types.toGPUObjectDescriptorBase self)))))