jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PaymentDetailsBase.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.PaymentDetailsBase
(newPaymentDetailsBase, setDisplayItems, getDisplayItems, getDisplayItemsUnsafe, getDisplayItemsUnchecked, setShippingOptions, getShippingOptions, getShippingOptionsUnsafe, getShippingOptionsUnchecked, setModifiers, getModifiers, getModifiersUnsafe, getModifiersUnchecked, PaymentDetailsBase(..), gTypePaymentDetailsBase, IsPaymentDetailsBase, toPaymentDetailsBase)
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/payment-request/#dom-paymentdetailsbase PaymentDetailsBase specification>
newPaymentDetailsBase :: (MonadDOM m) => m PaymentDetailsBase
newPaymentDetailsBase = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-displayitems PaymentDetailsBase.displayItems specification>
setDisplayItems :: (MonadDOM m, IsPaymentDetailsBase self) => self -> [PaymentItem] -> m ()
setDisplayItems self val = liftDOM (void ((Types.toPaymentDetailsBase self) ^. jss "displayItems" (toJSVal val)))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-displayitems PaymentDetailsBase.displayItems specification>
getDisplayItems :: (MonadDOM m, IsPaymentDetailsBase self) => self -> m (Maybe [PaymentItem])
getDisplayItems self = liftDOM ((((Types.toPaymentDetailsBase self) ^. js "displayItems") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-displayitems PaymentDetailsBase.displayItems specification>
getDisplayItemsUnsafe :: (MonadDOM m, IsPaymentDetailsBase self, HasCallStack) => self -> m [PaymentItem]
getDisplayItemsUnsafe self = liftDOM (((((Types.toPaymentDetailsBase self) ^. js "displayItems") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-displayitems PaymentDetailsBase.displayItems specification>
getDisplayItemsUnchecked :: (MonadDOM m, IsPaymentDetailsBase self) => self -> m [PaymentItem]
getDisplayItemsUnchecked self = liftDOM ((((Types.toPaymentDetailsBase self) ^. js "displayItems") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-shippingoptions PaymentDetailsBase.shippingOptions specification>
setShippingOptions :: (MonadDOM m, IsPaymentDetailsBase self) => self -> [PaymentShippingOption] -> m ()
setShippingOptions self val = liftDOM (void ((Types.toPaymentDetailsBase self) ^. jss "shippingOptions" (toJSVal val)))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-shippingoptions PaymentDetailsBase.shippingOptions specification>
getShippingOptions :: (MonadDOM m, IsPaymentDetailsBase self) => self -> m (Maybe [PaymentShippingOption])
getShippingOptions self = liftDOM ((((Types.toPaymentDetailsBase self) ^. js "shippingOptions") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-shippingoptions PaymentDetailsBase.shippingOptions specification>
getShippingOptionsUnsafe :: (MonadDOM m, IsPaymentDetailsBase self, HasCallStack) => self -> m [PaymentShippingOption]
getShippingOptionsUnsafe self = liftDOM (((((Types.toPaymentDetailsBase self) ^. js "shippingOptions") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-shippingoptions PaymentDetailsBase.shippingOptions specification>
getShippingOptionsUnchecked :: (MonadDOM m, IsPaymentDetailsBase self) => self -> m [PaymentShippingOption]
getShippingOptionsUnchecked self = liftDOM ((((Types.toPaymentDetailsBase self) ^. js "shippingOptions") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-modifiers PaymentDetailsBase.modifiers specification>
setModifiers :: (MonadDOM m, IsPaymentDetailsBase self) => self -> [PaymentDetailsModifier] -> m ()
setModifiers self val = liftDOM (void ((Types.toPaymentDetailsBase self) ^. jss "modifiers" (toJSVal val)))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-modifiers PaymentDetailsBase.modifiers specification>
getModifiers :: (MonadDOM m, IsPaymentDetailsBase self) => self -> m (Maybe [PaymentDetailsModifier])
getModifiers self = liftDOM ((((Types.toPaymentDetailsBase self) ^. js "modifiers") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-modifiers PaymentDetailsBase.modifiers specification>
getModifiersUnsafe :: (MonadDOM m, IsPaymentDetailsBase self, HasCallStack) => self -> m [PaymentDetailsModifier]
getModifiersUnsafe self = liftDOM (((((Types.toPaymentDetailsBase self) ^. js "modifiers") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/payment-request/#dom-paymentdetailsbase-modifiers PaymentDetailsBase.modifiers specification>
getModifiersUnchecked :: (MonadDOM m, IsPaymentDetailsBase self) => self -> m [PaymentDetailsModifier]
getModifiersUnchecked self = liftDOM ((((Types.toPaymentDetailsBase self) ^. js "modifiers") >>= fromJSValUnchecked))