jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PaymentShippingOption.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.PaymentShippingOption
(newPaymentShippingOption, setId, getId, setLabel, getLabel, setAmount, getAmount, setSelected, getSelected, getSelectedUnsafe, getSelectedUnchecked, PaymentShippingOption(..), gTypePaymentShippingOption)
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-paymentshippingoption PaymentShippingOption specification>
newPaymentShippingOption :: (MonadDOM m, ToJSString id, ToJSString label) => id -> label -> PaymentCurrencyAmount -> m PaymentShippingOption
newPaymentShippingOption id label amount = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "id" (toJSVal id)) P.>> (o ^. jss "label" (toJSVal label)) P.>> (o ^. jss "amount" (toJSVal amount)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-id PaymentShippingOption.id specification>
setId :: (MonadDOM m, ToJSString val) => PaymentShippingOption -> val -> m ()
setId self val = liftDOM (void (self ^. jss "id" (toJSVal val)))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-id PaymentShippingOption.id specification>
getId :: (MonadDOM m, FromJSString result) => PaymentShippingOption -> m result
getId self = liftDOM (((self ^. js "id") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-label PaymentShippingOption.label specification>
setLabel :: (MonadDOM m, ToJSString val) => PaymentShippingOption -> val -> m ()
setLabel self val = liftDOM (void (self ^. jss "label" (toJSVal val)))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-label PaymentShippingOption.label specification>
getLabel :: (MonadDOM m, FromJSString result) => PaymentShippingOption -> m result
getLabel self = liftDOM (((self ^. js "label") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-amount PaymentShippingOption.amount specification>
setAmount :: (MonadDOM m) => PaymentShippingOption -> PaymentCurrencyAmount -> m ()
setAmount self val = liftDOM (void (self ^. jss "amount" (toJSVal val)))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-amount PaymentShippingOption.amount specification>
getAmount :: (MonadDOM m) => PaymentShippingOption -> m PaymentCurrencyAmount
getAmount self = liftDOM (((self ^. js "amount") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-selected PaymentShippingOption.selected specification>
setSelected :: (MonadDOM m) => PaymentShippingOption -> Bool -> m ()
setSelected self val = liftDOM (void (self ^. jss "selected" (toJSVal val)))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-selected PaymentShippingOption.selected specification>
getSelected :: (MonadDOM m) => PaymentShippingOption -> m (Maybe Bool)
getSelected self = liftDOM (((self ^. js "selected") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-selected PaymentShippingOption.selected specification>
getSelectedUnsafe :: (MonadDOM m, HasCallStack) => PaymentShippingOption -> m Bool
getSelectedUnsafe self = liftDOM ((((self ^. js "selected") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/payment-request/#dom-paymentshippingoption-selected PaymentShippingOption.selected specification>
getSelectedUnchecked :: (MonadDOM m) => PaymentShippingOption -> m Bool
getSelectedUnchecked self = liftDOM (((self ^. js "selected") >>= valToBool))