ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/PushSubscriptionKeys.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.PushSubscriptionKeys
(js_newPushSubscriptionKeys, js_setP256dh, js_getP256dh, js_setAuth, js_getAuth, 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 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 "(() => { return ({}); })"
js_newPushSubscriptionKeys :: IO PushSubscriptionKeys
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys PushSubscriptionKeys specification>
newPushSubscriptionKeys :: (MonadDOM m) => m PushSubscriptionKeys
newPushSubscriptionKeys = liftDOM ((js_newPushSubscriptionKeys))
foreign import javascript safe "(($1, $2) => { $1[\"p256dh\"] = $2; })"
js_setP256dh :: PushSubscriptionKeys -> JSString -> IO ()
-- | <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 ((js_setP256dh (self) (toJSString val))))
foreign import javascript unsafe "(($1) => { return $1[\"p256dh\"]; })"
js_getP256dh :: PushSubscriptionKeys -> IO JSVal
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-p256dh PushSubscriptionKeys.p256dh specification>
getP256dh :: (MonadDOM m, FromJSString result) => PushSubscriptionKeys -> m (Maybe result)
getP256dh self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getP256dh (self))))
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-p256dh PushSubscriptionKeys.p256dh specification>
getP256dhUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => PushSubscriptionKeys -> m result
getP256dhUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getP256dh (self))) >>= 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 ((pFromJSVal <$> (js_getP256dh (self))))
foreign import javascript safe "(($1, $2) => { $1[\"auth\"] = $2; })"
js_setAuth :: PushSubscriptionKeys -> JSString -> IO ()
-- | <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 ((js_setAuth (self) (toJSString val))))
foreign import javascript unsafe "(($1) => { return $1[\"auth\"]; })"
js_getAuth :: PushSubscriptionKeys -> IO JSVal
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-auth PushSubscriptionKeys.auth specification>
getAuth :: (MonadDOM m, FromJSString result) => PushSubscriptionKeys -> m (Maybe result)
getAuth self = liftDOM (((fromMaybeJSString . Nullable) <$> (js_getAuth (self))))
-- | <https://w3c.github.io/push-api/#dom-pushsubscriptionkeys-auth PushSubscriptionKeys.auth specification>
getAuthUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => PushSubscriptionKeys -> m result
getAuthUnsafe self = liftDOM ((((fromMaybeJSString . Nullable) <$> (js_getAuth (self))) >>= 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 ((pFromJSVal <$> (js_getAuth (self))))