ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/PushSubscriptionChangeEvent.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from push-api (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.PushSubscriptionChangeEvent
(js_newPushSubscriptionChangeEvent, js_getNewSubscription, js_getOldSubscription, 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 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 new globalThis[\"PushSubscriptionChangeEvent\"]($1, $2); })"
js_newPushSubscriptionChangeEvent :: JSString -> JSVal -> IO PushSubscriptionChangeEvent
-- | <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 (((P.maybe (P.return jsUndefined) toJSVal eventInitDict) >>= \a2' -> js_newPushSubscriptionChangeEvent (toJSString type') a2'))
foreign import javascript unsafe "(($1) => { return $1[\"newSubscription\"]; })"
js_getNewSubscription :: PushSubscriptionChangeEvent -> IO JSVal
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeevent-newsubscription PushSubscriptionChangeEvent.newSubscription specification>
getNewSubscription :: (MonadDOM m) => PushSubscriptionChangeEvent -> m (Maybe PushSubscription)
getNewSubscription self = liftDOM (((js_getNewSubscription (self)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeevent-newsubscription PushSubscriptionChangeEvent.newSubscription specification>
getNewSubscriptionUnsafe :: (MonadDOM m, HasCallStack) => PushSubscriptionChangeEvent -> m PushSubscription
getNewSubscriptionUnsafe self = liftDOM ((((js_getNewSubscription (self)) >>= 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 ((pFromJSVal <$> (js_getNewSubscription (self))))
foreign import javascript unsafe "(($1) => { return $1[\"oldSubscription\"]; })"
js_getOldSubscription :: PushSubscriptionChangeEvent -> IO JSVal
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeevent-oldsubscription PushSubscriptionChangeEvent.oldSubscription specification>
getOldSubscription :: (MonadDOM m) => PushSubscriptionChangeEvent -> m (Maybe PushSubscription)
getOldSubscription self = liftDOM (((js_getOldSubscription (self)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionchangeevent-oldsubscription PushSubscriptionChangeEvent.oldSubscription specification>
getOldSubscriptionUnsafe :: (MonadDOM m, HasCallStack) => PushSubscriptionChangeEvent -> m PushSubscription
getOldSubscriptionUnsafe self = liftDOM ((((js_getOldSubscription (self)) >>= 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 ((pFromJSVal <$> (js_getOldSubscription (self))))