jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PaymentCredentialInstrument.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from secure-payment-confirmation (webref). Do not edit.
module JSDOM.Generated.PaymentCredentialInstrument
(newPaymentCredentialInstrument, setDisplayName, getDisplayName, setIcon, getIcon, setIconMustBeShown, getIconMustBeShown, getIconMustBeShownUnsafe, getIconMustBeShownUnchecked, setDetails, getDetails, getDetailsUnsafe, getDetailsUnchecked, PaymentCredentialInstrument(..), gTypePaymentCredentialInstrument)
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/secure-payment-confirmation/#dictdef-paymentcredentialinstrument PaymentCredentialInstrument specification>
newPaymentCredentialInstrument :: (MonadDOM m, ToJSString displayName, ToJSString icon) => displayName -> icon -> m PaymentCredentialInstrument
newPaymentCredentialInstrument displayName icon = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "displayName" (toJSVal displayName)) P.>> (o ^. jss "icon" (toJSVal icon)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-displayname PaymentCredentialInstrument.displayName specification>
setDisplayName :: (MonadDOM m, ToJSString val) => PaymentCredentialInstrument -> val -> m ()
setDisplayName self val = liftDOM (void (self ^. jss "displayName" (toJSVal val)))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-displayname PaymentCredentialInstrument.displayName specification>
getDisplayName :: (MonadDOM m, FromJSString result) => PaymentCredentialInstrument -> m result
getDisplayName self = liftDOM (((self ^. js "displayName") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-icon PaymentCredentialInstrument.icon specification>
setIcon :: (MonadDOM m, ToJSString val) => PaymentCredentialInstrument -> val -> m ()
setIcon self val = liftDOM (void (self ^. jss "icon" (toJSVal val)))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-icon PaymentCredentialInstrument.icon specification>
getIcon :: (MonadDOM m, FromJSString result) => PaymentCredentialInstrument -> m result
getIcon self = liftDOM (((self ^. js "icon") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-iconmustbeshown PaymentCredentialInstrument.iconMustBeShown specification>
setIconMustBeShown :: (MonadDOM m) => PaymentCredentialInstrument -> Bool -> m ()
setIconMustBeShown self val = liftDOM (void (self ^. jss "iconMustBeShown" (toJSVal val)))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-iconmustbeshown PaymentCredentialInstrument.iconMustBeShown specification>
getIconMustBeShown :: (MonadDOM m) => PaymentCredentialInstrument -> m (Maybe Bool)
getIconMustBeShown self = liftDOM (((self ^. js "iconMustBeShown") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-iconmustbeshown PaymentCredentialInstrument.iconMustBeShown specification>
getIconMustBeShownUnsafe :: (MonadDOM m, HasCallStack) => PaymentCredentialInstrument -> m Bool
getIconMustBeShownUnsafe self = liftDOM ((((self ^. js "iconMustBeShown") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-iconmustbeshown PaymentCredentialInstrument.iconMustBeShown specification>
getIconMustBeShownUnchecked :: (MonadDOM m) => PaymentCredentialInstrument -> m Bool
getIconMustBeShownUnchecked self = liftDOM (((self ^. js "iconMustBeShown") >>= valToBool))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-details PaymentCredentialInstrument.details specification>
setDetails :: (MonadDOM m, ToJSString val) => PaymentCredentialInstrument -> val -> m ()
setDetails self val = liftDOM (void (self ^. jss "details" (toJSVal val)))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-details PaymentCredentialInstrument.details specification>
getDetails :: (MonadDOM m, FromJSString result) => PaymentCredentialInstrument -> m (Maybe result)
getDetails self = liftDOM (((self ^. js "details") >>= fromMaybeJSString))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-details PaymentCredentialInstrument.details specification>
getDetailsUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => PaymentCredentialInstrument -> m result
getDetailsUnsafe self = liftDOM ((((self ^. js "details") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/secure-payment-confirmation/#dom-paymentcredentialinstrument-details PaymentCredentialInstrument.details specification>
getDetailsUnchecked :: (MonadDOM m, FromJSString result) => PaymentCredentialInstrument -> m result
getDetailsUnchecked self = liftDOM (((self ^. js "details") >>= fromJSValUnchecked))