packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# 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 GHCJS.DOM.JSFFI.Generated.HMACGetSecretOutput
       (js_newHMACGetSecretOutput, js_setOutput1, js_getOutput1, js_setOutput2, js_getOutput2, 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 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 "(($1) => { return ({\"output1\": $1}); })"
        js_newHMACGetSecretOutput :: ArrayBuffer -> IO HMACGetSecretOutput
-- | <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 ((js_newHMACGetSecretOutput (Types.toArrayBuffer output1)))

foreign import javascript safe "(($1, $2) => { $1[\"output1\"] = $2; })"
        js_setOutput1 :: HMACGetSecretOutput -> ArrayBuffer -> IO ()
-- | <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 ((js_setOutput1 (self) (Types.toArrayBuffer val))))

foreign import javascript unsafe "(($1) => { return $1[\"output1\"]; })"
        js_getOutput1 :: HMACGetSecretOutput -> IO ArrayBuffer
-- | <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 ((js_getOutput1 (self)))

foreign import javascript safe "(($1, $2) => { $1[\"output2\"] = $2; })"
        js_setOutput2 :: HMACGetSecretOutput -> ArrayBuffer -> IO ()
-- | <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 ((js_setOutput2 (self) (Types.toArrayBuffer val))))

foreign import javascript unsafe "(($1) => { return $1[\"output2\"]; })"
        js_getOutput2 :: HMACGetSecretOutput -> IO JSVal
-- | <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 (((js_getOutput2 (self)) >>= 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 ((((js_getOutput2 (self)) >>= 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 ((pFromJSVal <$> (js_getOutput2 (self))))