jsaddle-dom-0.10.0.0: src/JSDOM/Generated/CloseWatcherOptions.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.CloseWatcherOptions
(newCloseWatcherOptions, setSignal, getSignal, getSignalUnsafe, getSignalUnchecked, CloseWatcherOptions(..), gTypeCloseWatcherOptions)
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://html.spec.whatwg.org/multipage/interaction.html#closewatcheroptions CloseWatcherOptions specification>
newCloseWatcherOptions :: (MonadDOM m) => m CloseWatcherOptions
newCloseWatcherOptions = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))
-- | <https://html.spec.whatwg.org/multipage/interaction.html#dom-closewatcheroptions-signal CloseWatcherOptions.signal specification>
setSignal :: (MonadDOM m, IsAbortSignal val) => CloseWatcherOptions -> val -> m ()
setSignal self val = liftDOM (void (self ^. jss "signal" (toJSVal val)))
-- | <https://html.spec.whatwg.org/multipage/interaction.html#dom-closewatcheroptions-signal CloseWatcherOptions.signal specification>
getSignal :: (MonadDOM m) => CloseWatcherOptions -> m (Maybe AbortSignal)
getSignal self = liftDOM (((self ^. js "signal") >>= fromJSValUnchecked))
-- | <https://html.spec.whatwg.org/multipage/interaction.html#dom-closewatcheroptions-signal CloseWatcherOptions.signal specification>
getSignalUnsafe :: (MonadDOM m, HasCallStack) => CloseWatcherOptions -> m AbortSignal
getSignalUnsafe self = liftDOM ((((self ^. js "signal") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://html.spec.whatwg.org/multipage/interaction.html#dom-closewatcheroptions-signal CloseWatcherOptions.signal specification>
getSignalUnchecked :: (MonadDOM m) => CloseWatcherOptions -> m AbortSignal
getSignalUnchecked self = liftDOM (((self ^. js "signal") >>= fromJSValUnchecked))