packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PushSubscriptionChangeEventInit.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from push-api (webref). Do not edit.
module JSDOM.Generated.PushSubscriptionChangeEventInit
       (newPushSubscriptionChangeEventInit, setNewSubscription, getNewSubscription, getNewSubscriptionUnsafe, getNewSubscriptionUnchecked, setOldSubscription, getOldSubscription, getOldSubscriptionUnsafe, getOldSubscriptionUnchecked, PushSubscriptionChangeEventInit(..), gTypePushSubscriptionChangeEventInit)
       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/push-api/#dom-pushsubscriptionchangeeventinit PushSubscriptionChangeEventInit specification>
newPushSubscriptionChangeEventInit :: (MonadDOM m) => m PushSubscriptionChangeEventInit
newPushSubscriptionChangeEventInit = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeeventinit-newsubscription PushSubscriptionChangeEventInit.newSubscription specification>
setNewSubscription :: (MonadDOM m) => PushSubscriptionChangeEventInit -> PushSubscription -> m ()
setNewSubscription self val = liftDOM (void (self ^. jss "newSubscription" (toJSVal val)))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeeventinit-newsubscription PushSubscriptionChangeEventInit.newSubscription specification>
getNewSubscription :: (MonadDOM m) => PushSubscriptionChangeEventInit -> m (Maybe PushSubscription)
getNewSubscription self = liftDOM (((self ^. js "newSubscription") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeeventinit-newsubscription PushSubscriptionChangeEventInit.newSubscription specification>
getNewSubscriptionUnsafe :: (MonadDOM m, HasCallStack) => PushSubscriptionChangeEventInit -> m PushSubscription
getNewSubscriptionUnsafe self = liftDOM ((((self ^. js "newSubscription") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeeventinit-newsubscription PushSubscriptionChangeEventInit.newSubscription specification>
getNewSubscriptionUnchecked :: (MonadDOM m) => PushSubscriptionChangeEventInit -> m PushSubscription
getNewSubscriptionUnchecked self = liftDOM (((self ^. js "newSubscription") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeeventinit-oldsubscription PushSubscriptionChangeEventInit.oldSubscription specification>
setOldSubscription :: (MonadDOM m) => PushSubscriptionChangeEventInit -> PushSubscription -> m ()
setOldSubscription self val = liftDOM (void (self ^. jss "oldSubscription" (toJSVal val)))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeeventinit-oldsubscription PushSubscriptionChangeEventInit.oldSubscription specification>
getOldSubscription :: (MonadDOM m) => PushSubscriptionChangeEventInit -> m (Maybe PushSubscription)
getOldSubscription self = liftDOM (((self ^. js "oldSubscription") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeeventinit-oldsubscription PushSubscriptionChangeEventInit.oldSubscription specification>
getOldSubscriptionUnsafe :: (MonadDOM m, HasCallStack) => PushSubscriptionChangeEventInit -> m PushSubscription
getOldSubscriptionUnsafe self = liftDOM ((((self ^. js "oldSubscription") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeeventinit-oldsubscription PushSubscriptionChangeEventInit.oldSubscription specification>
getOldSubscriptionUnchecked :: (MonadDOM m) => PushSubscriptionChangeEventInit -> m PushSubscription
getOldSubscriptionUnchecked self = liftDOM (((self ^. js "oldSubscription") >>= fromJSValUnchecked))