ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/PaymentItem.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from payment-request (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.PaymentItem
(js_newPaymentItem, js_setLabel, js_getLabel, js_setAmount, js_getAmount, js_setPending, js_getPending, newPaymentItem, setLabel, getLabel, setAmount, getAmount, setPending, getPending, getPendingUnsafe, getPendingUnchecked, PaymentItem(..), gTypePaymentItem)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript safe "(($1, $2) => { return ({\"label\": $1, \"amount\": $2}); })"
js_newPaymentItem :: JSString -> PaymentCurrencyAmount -> IO PaymentItem
-- | <https://w3c.github.io/payment-request/#dom-paymentitem PaymentItem specification>
newPaymentItem :: (MonadDOM m, ToJSString label) => label -> PaymentCurrencyAmount -> m PaymentItem
newPaymentItem label amount = liftDOM ((js_newPaymentItem (toJSString label) (amount)))
foreign import javascript safe "(($1, $2) => { $1[\"label\"] = $2; })"
js_setLabel :: PaymentItem -> JSString -> IO ()
-- | <https://w3c.github.io/payment-request/#dom-paymentitem-label PaymentItem.label specification>
setLabel :: (MonadDOM m, ToJSString val) => PaymentItem -> val -> m ()
setLabel self val = liftDOM (void ((js_setLabel (self) (toJSString val))))
foreign import javascript unsafe "(($1) => { return $1[\"label\"]; })"
js_getLabel :: PaymentItem -> IO JSString
-- | <https://w3c.github.io/payment-request/#dom-paymentitem-label PaymentItem.label specification>
getLabel :: (MonadDOM m, FromJSString result) => PaymentItem -> m result
getLabel self = liftDOM ((fromJSString <$> (js_getLabel (self))))
foreign import javascript safe "(($1, $2) => { $1[\"amount\"] = $2; })"
js_setAmount :: PaymentItem -> PaymentCurrencyAmount -> IO ()
-- | <https://w3c.github.io/payment-request/#dom-paymentitem-amount PaymentItem.amount specification>
setAmount :: (MonadDOM m) => PaymentItem -> PaymentCurrencyAmount -> m ()
setAmount self val = liftDOM (void ((js_setAmount (self) (val))))
foreign import javascript unsafe "(($1) => { return $1[\"amount\"]; })"
js_getAmount :: PaymentItem -> IO PaymentCurrencyAmount
-- | <https://w3c.github.io/payment-request/#dom-paymentitem-amount PaymentItem.amount specification>
getAmount :: (MonadDOM m) => PaymentItem -> m PaymentCurrencyAmount
getAmount self = liftDOM ((js_getAmount (self)))
foreign import javascript safe "(($1, $2) => { $1[\"pending\"] = $2; })"
js_setPending :: PaymentItem -> Bool -> IO ()
-- | <https://w3c.github.io/payment-request/#dom-paymentitem-pending PaymentItem.pending specification>
setPending :: (MonadDOM m) => PaymentItem -> Bool -> m ()
setPending self val = liftDOM (void ((js_setPending (self) (val))))
foreign import javascript unsafe "(($1) => { return $1[\"pending\"]; })"
js_getPending :: PaymentItem -> IO JSVal
-- | <https://w3c.github.io/payment-request/#dom-paymentitem-pending PaymentItem.pending specification>
getPending :: (MonadDOM m) => PaymentItem -> m (Maybe Bool)
getPending self = liftDOM (((js_getPending (self)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentitem-pending PaymentItem.pending specification>
getPendingUnsafe :: (MonadDOM m, HasCallStack) => PaymentItem -> m Bool
getPendingUnsafe self = liftDOM ((((js_getPending (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/payment-request/#dom-paymentitem-pending PaymentItem.pending specification>
getPendingUnchecked :: (MonadDOM m) => PaymentItem -> m Bool
getPendingUnchecked self = liftDOM ((pFromJSVal <$> (js_getPending (self))))