jsaddle-dom-0.10.0.0: src/JSDOM/Generated/SubtleCrypto.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webcrypto-2 (webref). Do not edit.
module JSDOM.Generated.SubtleCrypto
(decrypt, decrypt_, deriveBits, deriveBits_, deriveKey, deriveKey_, digest, digest_, encrypt, encrypt_, exportKey, exportKey_, generateKey, generateKey_, importKey, importKey_, sign, sign_, unwrapKey, unwrapKey_, verify, verify_, wrapKey, wrapKey_, SubtleCrypto(..), gTypeSubtleCrypto)
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/SubtleCrypto/decrypt MDN SubtleCrypto.decrypt documentation>
decrypt :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource data') => SubtleCrypto -> algorithm -> CryptoKey -> data' -> m ArrayBuffer
decrypt self algorithm key data' = liftDOM (((((self ^. jsf "decrypt" [toJSVal algorithm, toJSVal key, toJSVal data']) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/decrypt MDN SubtleCrypto.decrypt documentation>
decrypt_ :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource data') => SubtleCrypto -> algorithm -> CryptoKey -> data' -> m ()
decrypt_ self algorithm key data' = liftDOM (void (((self ^. jsf "decrypt" [toJSVal algorithm, toJSVal key, toJSVal data']) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveBits MDN SubtleCrypto.deriveBits documentation>
deriveBits :: (MonadDOM m, IsAlgorithmIdentifier algorithm) => SubtleCrypto -> algorithm -> CryptoKey -> Maybe Word -> m ArrayBuffer
deriveBits self algorithm baseKey length = liftDOM (((((self ^. jsf "deriveBits" [toJSVal algorithm, toJSVal baseKey, toJSVal length]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveBits MDN SubtleCrypto.deriveBits documentation>
deriveBits_ :: (MonadDOM m, IsAlgorithmIdentifier algorithm) => SubtleCrypto -> algorithm -> CryptoKey -> Maybe Word -> m ()
deriveBits_ self algorithm baseKey length = liftDOM (void (((self ^. jsf "deriveBits" [toJSVal algorithm, toJSVal baseKey, toJSVal length]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey MDN SubtleCrypto.deriveKey documentation>
deriveKey :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsAlgorithmIdentifier derivedKeyType) => SubtleCrypto -> algorithm -> CryptoKey -> derivedKeyType -> Bool -> [KeyUsage] -> m CryptoKey
deriveKey self algorithm baseKey derivedKeyType extractable keyUsages = liftDOM (((((self ^. jsf "deriveKey" [toJSVal algorithm, toJSVal baseKey, toJSVal derivedKeyType, toJSVal extractable, toJSVal keyUsages]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/deriveKey MDN SubtleCrypto.deriveKey documentation>
deriveKey_ :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsAlgorithmIdentifier derivedKeyType) => SubtleCrypto -> algorithm -> CryptoKey -> derivedKeyType -> Bool -> [KeyUsage] -> m ()
deriveKey_ self algorithm baseKey derivedKeyType extractable keyUsages = liftDOM (void (((self ^. jsf "deriveKey" [toJSVal algorithm, toJSVal baseKey, toJSVal derivedKeyType, toJSVal extractable, toJSVal keyUsages]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/digest MDN SubtleCrypto.digest documentation>
digest :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource data') => SubtleCrypto -> algorithm -> data' -> m ArrayBuffer
digest self algorithm data' = liftDOM (((((self ^. jsf "digest" [toJSVal algorithm, toJSVal data']) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/digest MDN SubtleCrypto.digest documentation>
digest_ :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource data') => SubtleCrypto -> algorithm -> data' -> m ()
digest_ self algorithm data' = liftDOM (void (((self ^. jsf "digest" [toJSVal algorithm, toJSVal data']) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/encrypt MDN SubtleCrypto.encrypt documentation>
encrypt :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource data') => SubtleCrypto -> algorithm -> CryptoKey -> data' -> m ArrayBuffer
encrypt self algorithm key data' = liftDOM (((((self ^. jsf "encrypt" [toJSVal algorithm, toJSVal key, toJSVal data']) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/encrypt MDN SubtleCrypto.encrypt documentation>
encrypt_ :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource data') => SubtleCrypto -> algorithm -> CryptoKey -> data' -> m ()
encrypt_ self algorithm key data' = liftDOM (void (((self ^. jsf "encrypt" [toJSVal algorithm, toJSVal key, toJSVal data']) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/exportKey MDN SubtleCrypto.exportKey documentation>
exportKey :: (MonadDOM m) => SubtleCrypto -> KeyFormat -> CryptoKey -> m ArrayBufferOrJsonWebKey
exportKey self format key = liftDOM (((((self ^. jsf "exportKey" [toJSVal format, toJSVal key]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/exportKey MDN SubtleCrypto.exportKey documentation>
exportKey_ :: (MonadDOM m) => SubtleCrypto -> KeyFormat -> CryptoKey -> m ()
exportKey_ self format key = liftDOM (void (((self ^. jsf "exportKey" [toJSVal format, toJSVal key]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey MDN SubtleCrypto.generateKey documentation>
generateKey :: (MonadDOM m, IsAlgorithmIdentifier algorithm) => SubtleCrypto -> algorithm -> Bool -> [KeyUsage] -> m CryptoKeyOrCryptoKeyPair
generateKey self algorithm extractable keyUsages = liftDOM (((((self ^. jsf "generateKey" [toJSVal algorithm, toJSVal extractable, toJSVal keyUsages]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/generateKey MDN SubtleCrypto.generateKey documentation>
generateKey_ :: (MonadDOM m, IsAlgorithmIdentifier algorithm) => SubtleCrypto -> algorithm -> Bool -> [KeyUsage] -> m ()
generateKey_ self algorithm extractable keyUsages = liftDOM (void (((self ^. jsf "generateKey" [toJSVal algorithm, toJSVal extractable, toJSVal keyUsages]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey MDN SubtleCrypto.importKey documentation>
importKey :: (MonadDOM m, IsBufferSourceOrJsonWebKey keyData, IsAlgorithmIdentifier algorithm) => SubtleCrypto -> KeyFormat -> keyData -> algorithm -> Bool -> [KeyUsage] -> m CryptoKey
importKey self format keyData algorithm extractable keyUsages = liftDOM (((((self ^. jsf "importKey" [toJSVal format, toJSVal keyData, toJSVal algorithm, toJSVal extractable, toJSVal keyUsages]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/importKey MDN SubtleCrypto.importKey documentation>
importKey_ :: (MonadDOM m, IsBufferSourceOrJsonWebKey keyData, IsAlgorithmIdentifier algorithm) => SubtleCrypto -> KeyFormat -> keyData -> algorithm -> Bool -> [KeyUsage] -> m ()
importKey_ self format keyData algorithm extractable keyUsages = liftDOM (void (((self ^. jsf "importKey" [toJSVal format, toJSVal keyData, toJSVal algorithm, toJSVal extractable, toJSVal keyUsages]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/sign MDN SubtleCrypto.sign documentation>
sign :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource data') => SubtleCrypto -> algorithm -> CryptoKey -> data' -> m ArrayBuffer
sign self algorithm key data' = liftDOM (((((self ^. jsf "sign" [toJSVal algorithm, toJSVal key, toJSVal data']) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/sign MDN SubtleCrypto.sign documentation>
sign_ :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource data') => SubtleCrypto -> algorithm -> CryptoKey -> data' -> m ()
sign_ self algorithm key data' = liftDOM (void (((self ^. jsf "sign" [toJSVal algorithm, toJSVal key, toJSVal data']) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey MDN SubtleCrypto.unwrapKey documentation>
unwrapKey :: (MonadDOM m, IsBufferSource wrappedKey, IsAlgorithmIdentifier unwrapAlgorithm, IsAlgorithmIdentifier unwrappedKeyAlgorithm) => SubtleCrypto -> KeyFormat -> wrappedKey -> CryptoKey -> unwrapAlgorithm -> unwrappedKeyAlgorithm -> Bool -> [KeyUsage] -> m CryptoKey
unwrapKey self format wrappedKey unwrappingKey unwrapAlgorithm unwrappedKeyAlgorithm extractable keyUsages = liftDOM (((((self ^. jsf "unwrapKey" [toJSVal format, toJSVal wrappedKey, toJSVal unwrappingKey, toJSVal unwrapAlgorithm, toJSVal unwrappedKeyAlgorithm, toJSVal extractable, toJSVal keyUsages]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/unwrapKey MDN SubtleCrypto.unwrapKey documentation>
unwrapKey_ :: (MonadDOM m, IsBufferSource wrappedKey, IsAlgorithmIdentifier unwrapAlgorithm, IsAlgorithmIdentifier unwrappedKeyAlgorithm) => SubtleCrypto -> KeyFormat -> wrappedKey -> CryptoKey -> unwrapAlgorithm -> unwrappedKeyAlgorithm -> Bool -> [KeyUsage] -> m ()
unwrapKey_ self format wrappedKey unwrappingKey unwrapAlgorithm unwrappedKeyAlgorithm extractable keyUsages = liftDOM (void (((self ^. jsf "unwrapKey" [toJSVal format, toJSVal wrappedKey, toJSVal unwrappingKey, toJSVal unwrapAlgorithm, toJSVal unwrappedKeyAlgorithm, toJSVal extractable, toJSVal keyUsages]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/verify MDN SubtleCrypto.verify documentation>
verify :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource signature, IsBufferSource data') => SubtleCrypto -> algorithm -> CryptoKey -> signature -> data' -> m Bool
verify self algorithm key signature data' = liftDOM (((((self ^. jsf "verify" [toJSVal algorithm, toJSVal key, toJSVal signature, toJSVal data']) >>= readPromise)) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/verify MDN SubtleCrypto.verify documentation>
verify_ :: (MonadDOM m, IsAlgorithmIdentifier algorithm, IsBufferSource signature, IsBufferSource data') => SubtleCrypto -> algorithm -> CryptoKey -> signature -> data' -> m ()
verify_ self algorithm key signature data' = liftDOM (void (((self ^. jsf "verify" [toJSVal algorithm, toJSVal key, toJSVal signature, toJSVal data']) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/wrapKey MDN SubtleCrypto.wrapKey documentation>
wrapKey :: (MonadDOM m, IsAlgorithmIdentifier wrapAlgorithm) => SubtleCrypto -> KeyFormat -> CryptoKey -> CryptoKey -> wrapAlgorithm -> m ArrayBuffer
wrapKey self format key wrappingKey wrapAlgorithm = liftDOM (((((self ^. jsf "wrapKey" [toJSVal format, toJSVal key, toJSVal wrappingKey, toJSVal wrapAlgorithm]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/SubtleCrypto/wrapKey MDN SubtleCrypto.wrapKey documentation>
wrapKey_ :: (MonadDOM m, IsAlgorithmIdentifier wrapAlgorithm) => SubtleCrypto -> KeyFormat -> CryptoKey -> CryptoKey -> wrapAlgorithm -> m ()
wrapKey_ self format key wrappingKey wrapAlgorithm = liftDOM (void (((self ^. jsf "wrapKey" [toJSVal format, toJSVal key, toJSVal wrappingKey, toJSVal wrapAlgorithm]) >>= readPromise)))