packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PublicKeyCredentialDescriptor.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.PublicKeyCredentialDescriptor
       (newPublicKeyCredentialDescriptor, setType, getType, setId, getId, setTransports, getTransports, getTransportsUnsafe, getTransportsUnchecked, PublicKeyCredentialDescriptor(..), gTypePublicKeyCredentialDescriptor)
       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-publickeycredentialdescriptor PublicKeyCredentialDescriptor specification>
newPublicKeyCredentialDescriptor :: (MonadDOM m, ToJSString type', IsBufferSource id) => type' -> id -> m PublicKeyCredentialDescriptor
newPublicKeyCredentialDescriptor 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-publickeycredentialdescriptor-type PublicKeyCredentialDescriptor.type specification>
setType :: (MonadDOM m, ToJSString val) => PublicKeyCredentialDescriptor -> val -> m ()
setType self val = liftDOM (void (self ^. jss "type" (toJSVal val)))

-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptor-type PublicKeyCredentialDescriptor.type specification>
getType :: (MonadDOM m, FromJSString result) => PublicKeyCredentialDescriptor -> m result
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptor-id PublicKeyCredentialDescriptor.id specification>
setId :: (MonadDOM m, IsBufferSource val) => PublicKeyCredentialDescriptor -> val -> m ()
setId self val = liftDOM (void (self ^. jss "id" (toJSVal val)))

-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptor-id PublicKeyCredentialDescriptor.id specification>
getId :: (MonadDOM m) => PublicKeyCredentialDescriptor -> m BufferSource
getId self = liftDOM (((self ^. js "id") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptor-transports PublicKeyCredentialDescriptor.transports specification>
setTransports :: (MonadDOM m, ToJSString val) => PublicKeyCredentialDescriptor -> [val] -> m ()
setTransports self val = liftDOM (void (self ^. jss "transports" (toJSVal val)))

-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptor-transports PublicKeyCredentialDescriptor.transports specification>
getTransports :: (MonadDOM m, FromJSString result) => PublicKeyCredentialDescriptor -> m (Maybe [result])
getTransports self = liftDOM (((self ^. js "transports") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptor-transports PublicKeyCredentialDescriptor.transports specification>
getTransportsUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => PublicKeyCredentialDescriptor -> m [result]
getTransportsUnsafe self = liftDOM ((((self ^. js "transports") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/webauthn/#dom-publickeycredentialdescriptor-transports PublicKeyCredentialDescriptor.transports specification>
getTransportsUnchecked :: (MonadDOM m, FromJSString result) => PublicKeyCredentialDescriptor -> m [result]
getTransportsUnchecked self = liftDOM (((self ^. js "transports") >>= fromJSValUnchecked))