packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/GPUBuffer.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.GPUBuffer
       (destroy, getMappedRange, getMappedRange_, mapAsync, unmap, getSize, getUsage, getMapState, GPUBuffer(..), gTypeGPUBuffer)
       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://developer.mozilla.org/docs/Web/API/GPUBuffer/destroy MDN GPUBuffer.destroy documentation>
destroy :: (MonadDOM m) => GPUBuffer -> m ()
destroy self = liftDOM (void (self ^. jsf "destroy" ()))

-- | <https://developer.mozilla.org/docs/Web/API/GPUBuffer/getMappedRange MDN GPUBuffer.getMappedRange documentation>
getMappedRange :: (MonadDOM m) => GPUBuffer -> Maybe Word53 -> Maybe Word53 -> m ArrayBuffer
getMappedRange self offset size = liftDOM (((self ^. jsf "getMappedRange" [P.maybe (P.return jsUndefined) toJSVal offset, P.maybe (P.return jsUndefined) toJSVal size]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/GPUBuffer/getMappedRange MDN GPUBuffer.getMappedRange documentation>
getMappedRange_ :: (MonadDOM m) => GPUBuffer -> Maybe Word53 -> Maybe Word53 -> m ()
getMappedRange_ self offset size = liftDOM (void (self ^. jsf "getMappedRange" [P.maybe (P.return jsUndefined) toJSVal offset, P.maybe (P.return jsUndefined) toJSVal size]))

-- | <https://developer.mozilla.org/docs/Web/API/GPUBuffer/mapAsync MDN GPUBuffer.mapAsync documentation>
mapAsync :: (MonadDOM m) => GPUBuffer -> Word -> Maybe Word53 -> Maybe Word53 -> m ()
mapAsync self mode offset size = liftDOM (void (((self ^. jsf "mapAsync" [toJSVal mode, P.maybe (P.return jsUndefined) toJSVal offset, P.maybe (P.return jsUndefined) toJSVal size]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/GPUBuffer/unmap MDN GPUBuffer.unmap documentation>
unmap :: (MonadDOM m) => GPUBuffer -> m ()
unmap self = liftDOM (void (self ^. jsf "unmap" ()))

-- | <https://developer.mozilla.org/docs/Web/API/GPUBuffer/size MDN GPUBuffer.size documentation>
getSize :: (MonadDOM m) => GPUBuffer -> m Word53
getSize self = liftDOM (((self ^. js "size") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/GPUBuffer/usage MDN GPUBuffer.usage documentation>
getUsage :: (MonadDOM m) => GPUBuffer -> m Word
getUsage self = liftDOM ((P.round <$> ((self ^. js "usage") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/GPUBuffer/mapState MDN GPUBuffer.mapState documentation>
getMapState :: (MonadDOM m) => GPUBuffer -> m GPUBufferMapState
getMapState self = liftDOM (((self ^. js "mapState") >>= fromJSValUnchecked))