jsaddle-dom-0.10.0.0: src/JSDOM/Generated/NotificationAction.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from notifications (webref). Do not edit.
module JSDOM.Generated.NotificationAction
(newNotificationAction, setAction, getAction, setTitle, getTitle, setNavigate, getNavigate, getNavigateUnsafe, getNavigateUnchecked, setIcon, getIcon, getIconUnsafe, getIconUnchecked, NotificationAction(..), gTypeNotificationAction)
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://notifications.spec.whatwg.org/#dictdef-notificationaction NotificationAction specification>
newNotificationAction :: (MonadDOM m, ToJSString action, ToJSString title) => action -> title -> m NotificationAction
newNotificationAction action title = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "action" (toJSVal action)) P.>> (o ^. jss "title" (toJSVal title)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-action NotificationAction.action specification>
setAction :: (MonadDOM m, ToJSString val) => NotificationAction -> val -> m ()
setAction self val = liftDOM (void (self ^. jss "action" (toJSVal val)))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-action NotificationAction.action specification>
getAction :: (MonadDOM m, FromJSString result) => NotificationAction -> m result
getAction self = liftDOM (((self ^. js "action") >>= fromJSValUnchecked))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-title NotificationAction.title specification>
setTitle :: (MonadDOM m, ToJSString val) => NotificationAction -> val -> m ()
setTitle self val = liftDOM (void (self ^. jss "title" (toJSVal val)))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-title NotificationAction.title specification>
getTitle :: (MonadDOM m, FromJSString result) => NotificationAction -> m result
getTitle self = liftDOM (((self ^. js "title") >>= fromJSValUnchecked))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-navigate NotificationAction.navigate specification>
setNavigate :: (MonadDOM m, ToJSString val) => NotificationAction -> val -> m ()
setNavigate self val = liftDOM (void (self ^. jss "navigate" (toJSVal val)))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-navigate NotificationAction.navigate specification>
getNavigate :: (MonadDOM m, FromJSString result) => NotificationAction -> m (Maybe result)
getNavigate self = liftDOM (((self ^. js "navigate") >>= fromMaybeJSString))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-navigate NotificationAction.navigate specification>
getNavigateUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => NotificationAction -> m result
getNavigateUnsafe self = liftDOM ((((self ^. js "navigate") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-navigate NotificationAction.navigate specification>
getNavigateUnchecked :: (MonadDOM m, FromJSString result) => NotificationAction -> m result
getNavigateUnchecked self = liftDOM (((self ^. js "navigate") >>= fromJSValUnchecked))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-icon NotificationAction.icon specification>
setIcon :: (MonadDOM m, ToJSString val) => NotificationAction -> val -> m ()
setIcon self val = liftDOM (void (self ^. jss "icon" (toJSVal val)))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-icon NotificationAction.icon specification>
getIcon :: (MonadDOM m, FromJSString result) => NotificationAction -> m (Maybe result)
getIcon self = liftDOM (((self ^. js "icon") >>= fromMaybeJSString))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-icon NotificationAction.icon specification>
getIconUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => NotificationAction -> m result
getIconUnsafe self = liftDOM ((((self ^. js "icon") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://notifications.spec.whatwg.org/#dom-notificationaction-icon NotificationAction.icon specification>
getIconUnchecked :: (MonadDOM m, FromJSString result) => NotificationAction -> m result
getIconUnchecked self = liftDOM (((self ^. js "icon") >>= fromJSValUnchecked))