packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/HMACGetSecretOutput.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from fido-client-to-authenticator-protocol-v2.3 (webref). Do not edit.
module JSDOM.Generated.HMACGetSecretOutput
       (newHMACGetSecretOutput, setOutput1, getOutput1, setOutput2, getOutput2, getOutput2Unsafe, getOutput2Unchecked, HMACGetSecretOutput(..), gTypeHMACGetSecretOutput)
       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://fidoalliance.org/specs/fido-v2.3-ps-20260226/fido-client-to-authenticator-protocol-v2.3-ps-20260226.html#dictdef-hmacgetsecretoutput HMACGetSecretOutput specification>
newHMACGetSecretOutput :: (MonadDOM m, IsArrayBuffer output1) => output1 -> m HMACGetSecretOutput
newHMACGetSecretOutput output1 = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "output1" (toJSVal output1)) P.>> P.return o)) >>= fromJSValUnchecked))

-- | <https://fidoalliance.org/specs/fido-v2.3-ps-20260226/fido-client-to-authenticator-protocol-v2.3-ps-20260226.html#dom-hmacgetsecretoutput-output1 HMACGetSecretOutput.output1 specification>
setOutput1 :: (MonadDOM m, IsArrayBuffer val) => HMACGetSecretOutput -> val -> m ()
setOutput1 self val = liftDOM (void (self ^. jss "output1" (toJSVal val)))

-- | <https://fidoalliance.org/specs/fido-v2.3-ps-20260226/fido-client-to-authenticator-protocol-v2.3-ps-20260226.html#dom-hmacgetsecretoutput-output1 HMACGetSecretOutput.output1 specification>
getOutput1 :: (MonadDOM m) => HMACGetSecretOutput -> m ArrayBuffer
getOutput1 self = liftDOM (((self ^. js "output1") >>= fromJSValUnchecked))

-- | <https://fidoalliance.org/specs/fido-v2.3-ps-20260226/fido-client-to-authenticator-protocol-v2.3-ps-20260226.html#dom-hmacgetsecretoutput-output2 HMACGetSecretOutput.output2 specification>
setOutput2 :: (MonadDOM m, IsArrayBuffer val) => HMACGetSecretOutput -> val -> m ()
setOutput2 self val = liftDOM (void (self ^. jss "output2" (toJSVal val)))

-- | <https://fidoalliance.org/specs/fido-v2.3-ps-20260226/fido-client-to-authenticator-protocol-v2.3-ps-20260226.html#dom-hmacgetsecretoutput-output2 HMACGetSecretOutput.output2 specification>
getOutput2 :: (MonadDOM m) => HMACGetSecretOutput -> m (Maybe ArrayBuffer)
getOutput2 self = liftDOM (((self ^. js "output2") >>= fromJSValUnchecked))

-- | <https://fidoalliance.org/specs/fido-v2.3-ps-20260226/fido-client-to-authenticator-protocol-v2.3-ps-20260226.html#dom-hmacgetsecretoutput-output2 HMACGetSecretOutput.output2 specification>
getOutput2Unsafe :: (MonadDOM m, HasCallStack) => HMACGetSecretOutput -> m ArrayBuffer
getOutput2Unsafe self = liftDOM ((((self ^. js "output2") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://fidoalliance.org/specs/fido-v2.3-ps-20260226/fido-client-to-authenticator-protocol-v2.3-ps-20260226.html#dom-hmacgetsecretoutput-output2 HMACGetSecretOutput.output2 specification>
getOutput2Unchecked :: (MonadDOM m) => HMACGetSecretOutput -> m ArrayBuffer
getOutput2Unchecked self = liftDOM (((self ^. js "output2") >>= fromJSValUnchecked))