packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PushManager.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.PushManager
       (getSubscription, getSubscription_, getSubscriptionUnsafe, getSubscriptionUnchecked, permissionState, permissionState_, subscribe, subscribe_, getSupportedContentEncodingsStatic, PushManager(..), gTypePushManager)
       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://developer.mozilla.org/docs/Web/API/PushManager/getSubscription MDN PushManager.getSubscription documentation>
getSubscription :: (MonadDOM m) => PushManager -> m (Maybe PushSubscription)
getSubscription self = liftDOM (((((self ^. jsf "getSubscription" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/PushManager/getSubscription MDN PushManager.getSubscription documentation>
getSubscription_ :: (MonadDOM m) => PushManager -> m ()
getSubscription_ self = liftDOM (void (((self ^. jsf "getSubscription" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/PushManager/getSubscription MDN PushManager.getSubscription documentation>
getSubscriptionUnsafe :: (MonadDOM m, HasCallStack) => PushManager -> m PushSubscription
getSubscriptionUnsafe self = liftDOM ((((((self ^. jsf "getSubscription" ()) >>= readPromise)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/PushManager/getSubscription MDN PushManager.getSubscription documentation>
getSubscriptionUnchecked :: (MonadDOM m) => PushManager -> m PushSubscription
getSubscriptionUnchecked self = liftDOM (((((self ^. jsf "getSubscription" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/PushManager/permissionState MDN PushManager.permissionState documentation>
permissionState :: (MonadDOM m) => PushManager -> Maybe PushSubscriptionOptionsInit -> m PermissionState
permissionState self options = liftDOM (((((self ^. jsf "permissionState" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/PushManager/permissionState MDN PushManager.permissionState documentation>
permissionState_ :: (MonadDOM m) => PushManager -> Maybe PushSubscriptionOptionsInit -> m ()
permissionState_ self options = liftDOM (void (((self ^. jsf "permissionState" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/PushManager/subscribe MDN PushManager.subscribe documentation>
subscribe :: (MonadDOM m) => PushManager -> Maybe PushSubscriptionOptionsInit -> m PushSubscription
subscribe self options = liftDOM (((((self ^. jsf "subscribe" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/PushManager/subscribe MDN PushManager.subscribe documentation>
subscribe_ :: (MonadDOM m) => PushManager -> Maybe PushSubscriptionOptionsInit -> m ()
subscribe_ self options = liftDOM (void (((self ^. jsf "subscribe" [P.maybe (P.return jsUndefined) toJSVal options]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/PushManager/supportedContentEncodings_static MDN PushManager.supportedContentEncodings documentation>
getSupportedContentEncodingsStatic :: (MonadDOM m, FromJSString result) => m [result]
getSupportedContentEncodingsStatic = liftDOM ((((jsg "PushManager") ^. js "supportedContentEncodings") >>= fromJSValUnchecked))