jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PaymentRequest.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from payment-request (webref). Do not edit.
module JSDOM.Generated.PaymentRequest
(newPaymentRequest, abort, canMakePayment, canMakePayment_, show, show_, getId, getShippingAddress, getShippingAddressUnsafe, getShippingAddressUnchecked, getShippingOption, getShippingOptionUnsafe, getShippingOptionUnchecked, getShippingType, getShippingTypeUnsafe, getShippingTypeUnchecked, shippingaddresschange, shippingoptionchange, paymentmethodchange, PaymentRequest(..), gTypePaymentRequest)
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/PaymentRequest/PaymentRequest MDN PaymentRequest. documentation>
newPaymentRequest :: (MonadDOM m) => [PaymentMethodData] -> PaymentDetailsInit -> Maybe PaymentOptions -> m PaymentRequest
newPaymentRequest methodData details options = liftDOM (((new (jsg "PaymentRequest") [toJSVal methodData, toJSVal details, P.maybe (P.return jsUndefined) toJSVal options]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/abort MDN PaymentRequest.abort documentation>
abort :: (MonadDOM m) => PaymentRequest -> m ()
abort self = liftDOM (void (((self ^. jsf "abort" ()) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/canMakePayment MDN PaymentRequest.canMakePayment documentation>
canMakePayment :: (MonadDOM m) => PaymentRequest -> m Bool
canMakePayment self = liftDOM (((((self ^. jsf "canMakePayment" ()) >>= readPromise)) >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/canMakePayment MDN PaymentRequest.canMakePayment documentation>
canMakePayment_ :: (MonadDOM m) => PaymentRequest -> m ()
canMakePayment_ self = liftDOM (void (((self ^. jsf "canMakePayment" ()) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/show MDN PaymentRequest.show documentation>
show :: (MonadDOM m) => PaymentRequest -> Maybe JSVal -> m PaymentResponse
show self detailsPromise = liftDOM (((((self ^. jsf "show" [P.maybe (P.return jsUndefined) toJSVal detailsPromise]) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/show MDN PaymentRequest.show documentation>
show_ :: (MonadDOM m) => PaymentRequest -> Maybe JSVal -> m ()
show_ self detailsPromise = liftDOM (void (((self ^. jsf "show" [P.maybe (P.return jsUndefined) toJSVal detailsPromise]) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/id MDN PaymentRequest.id documentation>
getId :: (MonadDOM m, FromJSString result) => PaymentRequest -> m result
getId self = liftDOM (((self ^. js "id") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingAddress MDN PaymentRequest.shippingAddress documentation>
getShippingAddress :: (MonadDOM m) => PaymentRequest -> m (Maybe ContactAddress)
getShippingAddress self = liftDOM (((self ^. js "shippingAddress") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingAddress MDN PaymentRequest.shippingAddress documentation>
getShippingAddressUnsafe :: (MonadDOM m, HasCallStack) => PaymentRequest -> m ContactAddress
getShippingAddressUnsafe self = liftDOM ((((self ^. js "shippingAddress") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingAddress MDN PaymentRequest.shippingAddress documentation>
getShippingAddressUnchecked :: (MonadDOM m) => PaymentRequest -> m ContactAddress
getShippingAddressUnchecked self = liftDOM (((self ^. js "shippingAddress") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingOption MDN PaymentRequest.shippingOption documentation>
getShippingOption :: (MonadDOM m, FromJSString result) => PaymentRequest -> m (Maybe result)
getShippingOption self = liftDOM (((self ^. js "shippingOption") >>= fromMaybeJSString))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingOption MDN PaymentRequest.shippingOption documentation>
getShippingOptionUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => PaymentRequest -> m result
getShippingOptionUnsafe self = liftDOM ((((self ^. js "shippingOption") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingOption MDN PaymentRequest.shippingOption documentation>
getShippingOptionUnchecked :: (MonadDOM m, FromJSString result) => PaymentRequest -> m result
getShippingOptionUnchecked self = liftDOM (((self ^. js "shippingOption") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingType MDN PaymentRequest.shippingType documentation>
getShippingType :: (MonadDOM m) => PaymentRequest -> m (Maybe PaymentShippingType)
getShippingType self = liftDOM (((self ^. js "shippingType") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingType MDN PaymentRequest.shippingType documentation>
getShippingTypeUnsafe :: (MonadDOM m, HasCallStack) => PaymentRequest -> m PaymentShippingType
getShippingTypeUnsafe self = liftDOM ((((self ^. js "shippingType") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://developer.mozilla.org/docs/Web/API/PaymentRequest/shippingType MDN PaymentRequest.shippingType documentation>
getShippingTypeUnchecked :: (MonadDOM m) => PaymentRequest -> m PaymentShippingType
getShippingTypeUnchecked self = liftDOM (((self ^. js "shippingType") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentrequest-onshippingaddresschange shippingaddresschange event>
shippingaddresschange :: EventName PaymentRequest PaymentRequestUpdateEvent
shippingaddresschange = unsafeEventName (toJSString "shippingaddresschange")
-- | <https://w3c.github.io/payment-request/#dom-paymentrequest-onshippingoptionchange shippingoptionchange event>
shippingoptionchange :: EventName PaymentRequest PaymentRequestUpdateEvent
shippingoptionchange = unsafeEventName (toJSString "shippingoptionchange")
-- | <https://w3c.github.io/payment-request/#dom-paymentrequest-onpaymentmethodchange paymentmethodchange event>
paymentmethodchange :: EventName PaymentRequest PaymentMethodChangeEvent
paymentmethodchange = unsafeEventName (toJSString "paymentmethodchange")