jsaddle-dom-0.10.0.0: src/JSDOM/Generated/WebTransportHash.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webtransport (webref). Do not edit.
module JSDOM.Generated.WebTransportHash
(newWebTransportHash, setAlgorithm, getAlgorithm, setValue, getValue, WebTransportHash(..), gTypeWebTransportHash)
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/webtransport/#dictdef-webtransporthash WebTransportHash specification>
newWebTransportHash :: (MonadDOM m, ToJSString algorithm, IsBufferSource value) => algorithm -> value -> m WebTransportHash
newWebTransportHash algorithm value = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "algorithm" (toJSVal algorithm)) P.>> (o ^. jss "value" (toJSVal value)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransporthash-algorithm WebTransportHash.algorithm specification>
setAlgorithm :: (MonadDOM m, ToJSString val) => WebTransportHash -> val -> m ()
setAlgorithm self val = liftDOM (void (self ^. jss "algorithm" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransporthash-algorithm WebTransportHash.algorithm specification>
getAlgorithm :: (MonadDOM m, FromJSString result) => WebTransportHash -> m result
getAlgorithm self = liftDOM (((self ^. js "algorithm") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webtransport/#dom-webtransporthash-value WebTransportHash.value specification>
setValue :: (MonadDOM m, IsBufferSource val) => WebTransportHash -> val -> m ()
setValue self val = liftDOM (void (self ^. jss "value" (toJSVal val)))
-- | <https://w3c.github.io/webtransport/#dom-webtransporthash-value WebTransportHash.value specification>
getValue :: (MonadDOM m) => WebTransportHash -> m BufferSource
getValue self = liftDOM (((self ^. js "value") >>= fromJSValUnchecked))