packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PushSubscriptionChangeEvent.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.PushSubscriptionChangeEvent
       (newPushSubscriptionChangeEvent, getNewSubscription, getNewSubscriptionUnsafe, getNewSubscriptionUnchecked, getOldSubscription, getOldSubscriptionUnsafe, getOldSubscriptionUnchecked, PushSubscriptionChangeEvent(..), gTypePushSubscriptionChangeEvent)
       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-pushsubscriptionchangeevent-constructor PushSubscriptionChangeEvent. specification>
newPushSubscriptionChangeEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe PushSubscriptionChangeEventInit -> m PushSubscriptionChangeEvent
newPushSubscriptionChangeEvent type' eventInitDict = liftDOM (((new (jsg "PushSubscriptionChangeEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))

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

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeevent-newsubscription PushSubscriptionChangeEvent.newSubscription specification>
getNewSubscriptionUnsafe :: (MonadDOM m, HasCallStack) => PushSubscriptionChangeEvent -> 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-pushsubscriptionchangeevent-newsubscription PushSubscriptionChangeEvent.newSubscription specification>
getNewSubscriptionUnchecked :: (MonadDOM m) => PushSubscriptionChangeEvent -> m PushSubscription
getNewSubscriptionUnchecked self = liftDOM (((self ^. js "newSubscription") >>= fromJSValUnchecked))

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

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeevent-oldsubscription PushSubscriptionChangeEvent.oldSubscription specification>
getOldSubscriptionUnsafe :: (MonadDOM m, HasCallStack) => PushSubscriptionChangeEvent -> 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-pushsubscriptionchangeevent-oldsubscription PushSubscriptionChangeEvent.oldSubscription specification>
getOldSubscriptionUnchecked :: (MonadDOM m) => PushSubscriptionChangeEvent -> m PushSubscription
getOldSubscriptionUnchecked self = liftDOM (((self ^. js "oldSubscription") >>= fromJSValUnchecked))