jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PublicKeyCredentialDescriptorJSON.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webauthn-4 (webref). Do not edit.
module JSDOM.Generated.PublicKeyCredentialDescriptorJSON
(newPublicKeyCredentialDescriptorJSON, setType, getType, setId, getId, setTransports, getTransports, getTransportsUnsafe, getTransportsUnchecked, PublicKeyCredentialDescriptorJSON(..), gTypePublicKeyCredentialDescriptorJSON)
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://w3c.github.io/webauthn/#dictdef-publickeycredentialdescriptorjson PublicKeyCredentialDescriptorJSON specification>
newPublicKeyCredentialDescriptorJSON :: (MonadDOM m, ToJSString type', ToJSString id) => type' -> id -> m PublicKeyCredentialDescriptorJSON
newPublicKeyCredentialDescriptorJSON type' id = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "type" (toJSVal type')) P.>> (o ^. jss "id" (toJSVal id)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptorjson-type PublicKeyCredentialDescriptorJSON.type specification>
setType :: (MonadDOM m, ToJSString val) => PublicKeyCredentialDescriptorJSON -> val -> m ()
setType self val = liftDOM (void (self ^. jss "type" (toJSVal val)))
-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptorjson-type PublicKeyCredentialDescriptorJSON.type specification>
getType :: (MonadDOM m, FromJSString result) => PublicKeyCredentialDescriptorJSON -> m result
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptorjson-id PublicKeyCredentialDescriptorJSON.id specification>
setId :: (MonadDOM m, ToJSString val) => PublicKeyCredentialDescriptorJSON -> val -> m ()
setId self val = liftDOM (void (self ^. jss "id" (toJSVal val)))
-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptorjson-id PublicKeyCredentialDescriptorJSON.id specification>
getId :: (MonadDOM m, FromJSString result) => PublicKeyCredentialDescriptorJSON -> m result
getId self = liftDOM (((self ^. js "id") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptorjson-transports PublicKeyCredentialDescriptorJSON.transports specification>
setTransports :: (MonadDOM m, ToJSString val) => PublicKeyCredentialDescriptorJSON -> [val] -> m ()
setTransports self val = liftDOM (void (self ^. jss "transports" (toJSVal val)))
-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptorjson-transports PublicKeyCredentialDescriptorJSON.transports specification>
getTransports :: (MonadDOM m, FromJSString result) => PublicKeyCredentialDescriptorJSON -> m (Maybe [result])
getTransports self = liftDOM (((self ^. js "transports") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptorjson-transports PublicKeyCredentialDescriptorJSON.transports specification>
getTransportsUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => PublicKeyCredentialDescriptorJSON -> m [result]
getTransportsUnsafe self = liftDOM ((((self ^. js "transports") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptorjson-transports PublicKeyCredentialDescriptorJSON.transports specification>
getTransportsUnchecked :: (MonadDOM m, FromJSString result) => PublicKeyCredentialDescriptorJSON -> m [result]
getTransportsUnchecked self = liftDOM (((self ^. js "transports") >>= fromJSValUnchecked))