packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PushSubscriptionKeys.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.PushSubscriptionKeys
       (newPushSubscriptionKeys, setP256dh, getP256dh, getP256dhUnsafe, getP256dhUnchecked, setAuth, getAuth, getAuthUnsafe, getAuthUnchecked, PushSubscriptionKeys(..), gTypePushSubscriptionKeys)
       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-pushsubscriptionkeys PushSubscriptionKeys specification>
newPushSubscriptionKeys :: (MonadDOM m) => m PushSubscriptionKeys
newPushSubscriptionKeys = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-p256dh PushSubscriptionKeys.p256dh specification>
setP256dh :: (MonadDOM m, ToJSString val) => PushSubscriptionKeys -> val -> m ()
setP256dh self val = liftDOM (void (self ^. jss "p256dh" (toJSVal val)))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-p256dh PushSubscriptionKeys.p256dh specification>
getP256dh :: (MonadDOM m, FromJSString result) => PushSubscriptionKeys -> m (Maybe result)
getP256dh self = liftDOM (((self ^. js "p256dh") >>= fromMaybeJSString))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-p256dh PushSubscriptionKeys.p256dh specification>
getP256dhUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => PushSubscriptionKeys -> m result
getP256dhUnsafe self = liftDOM ((((self ^. js "p256dh") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-p256dh PushSubscriptionKeys.p256dh specification>
getP256dhUnchecked :: (MonadDOM m, FromJSString result) => PushSubscriptionKeys -> m result
getP256dhUnchecked self = liftDOM (((self ^. js "p256dh") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-auth PushSubscriptionKeys.auth specification>
setAuth :: (MonadDOM m, ToJSString val) => PushSubscriptionKeys -> val -> m ()
setAuth self val = liftDOM (void (self ^. jss "auth" (toJSVal val)))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-auth PushSubscriptionKeys.auth specification>
getAuth :: (MonadDOM m, FromJSString result) => PushSubscriptionKeys -> m (Maybe result)
getAuth self = liftDOM (((self ^. js "auth") >>= fromMaybeJSString))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-auth PushSubscriptionKeys.auth specification>
getAuthUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => PushSubscriptionKeys -> m result
getAuthUnsafe self = liftDOM ((((self ^. js "auth") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-auth PushSubscriptionKeys.auth specification>
getAuthUnchecked :: (MonadDOM m, FromJSString result) => PushSubscriptionKeys -> m result
getAuthUnchecked self = liftDOM (((self ^. js "auth") >>= fromJSValUnchecked))