{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.CryptoKey
(getType, getExtractable, getAlgorithm, getUsages, CryptoKey(..),
gTypeCryptoKey)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
getType :: (MonadDOM m) => CryptoKey -> m KeyType
getType :: forall (m :: * -> *). MonadDOM m => CryptoKey -> m KeyType
getType CryptoKey
self = DOM KeyType -> m KeyType
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((CryptoKey
self CryptoKey -> Getting (JSM JSVal) CryptoKey (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter CryptoKey (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"type") JSM JSVal -> (JSVal -> DOM KeyType) -> DOM KeyType
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM KeyType
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getExtractable :: (MonadDOM m) => CryptoKey -> m Bool
CryptoKey
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((CryptoKey
self CryptoKey -> Getting (JSM JSVal) CryptoKey (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter CryptoKey (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"extractable") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)
getAlgorithm :: (MonadDOM m) => CryptoKey -> m GObject
getAlgorithm :: forall (m :: * -> *). MonadDOM m => CryptoKey -> m GObject
getAlgorithm CryptoKey
self
= DOM GObject -> m GObject
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((CryptoKey
self CryptoKey -> Getting (JSM JSVal) CryptoKey (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter CryptoKey (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"algorithm") JSM JSVal -> (JSVal -> DOM GObject) -> DOM GObject
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM GObject
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getUsages :: (MonadDOM m) => CryptoKey -> m [CryptoKeyUsage]
getUsages :: forall (m :: * -> *). MonadDOM m => CryptoKey -> m [CryptoKeyUsage]
getUsages CryptoKey
self
= DOM [CryptoKeyUsage] -> m [CryptoKeyUsage]
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((CryptoKey
self CryptoKey -> Getting (JSM JSVal) CryptoKey (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter CryptoKey (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"usages") JSM JSVal
-> (JSVal -> DOM [CryptoKeyUsage]) -> DOM [CryptoKeyUsage]
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM [CryptoKeyUsage]
forall o. FromJSVal o => JSVal -> JSM [o]
fromJSArrayUnchecked)