packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Crypto.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.Crypto
       (getRandomValues, getRandomValues_, randomUUID, randomUUID_, getSubtle, Crypto(..), gTypeCrypto)
       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/Crypto/getRandomValues MDN Crypto.getRandomValues documentation>
getRandomValues :: (MonadDOM m, IsArrayBufferView array) => Crypto -> array -> m ArrayBufferView
getRandomValues self array = liftDOM (((self ^. jsf "getRandomValues" [toJSVal array]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Crypto/getRandomValues MDN Crypto.getRandomValues documentation>
getRandomValues_ :: (MonadDOM m, IsArrayBufferView array) => Crypto -> array -> m ()
getRandomValues_ self array = liftDOM (void (self ^. jsf "getRandomValues" [toJSVal array]))

-- | <https://developer.mozilla.org/docs/Web/API/Crypto/randomUUID MDN Crypto.randomUUID documentation>
randomUUID :: (MonadDOM m, FromJSString result) => Crypto -> m result
randomUUID self = liftDOM (((self ^. jsf "randomUUID" ()) >>= fromJSValUnchecked))

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

-- | <https://developer.mozilla.org/docs/Web/API/Crypto/subtle MDN Crypto.subtle documentation>
getSubtle :: (MonadDOM m) => Crypto -> m SubtleCrypto
getSubtle self = liftDOM (((self ^. js "subtle") >>= fromJSValUnchecked))