jsaddle-dom-0.10.0.0: src/JSDOM/Generated/AbortSignal.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module JSDOM.Generated.AbortSignal
(throwIfAborted, abort, abort_, any, any_, timeout, timeout_, getAborted, getReason, abortEvent, AbortSignal(..), gTypeAbortSignal, IsAbortSignal, toAbortSignal)
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/AbortSignal/throwIfAborted MDN AbortSignal.throwIfAborted documentation>
throwIfAborted :: (MonadDOM m, IsAbortSignal self) => self -> m ()
throwIfAborted self = liftDOM (void ((Types.toAbortSignal self) ^. jsf "throwIfAborted" ()))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static MDN AbortSignal.abort documentation>
abort :: (MonadDOM m) => JSVal -> m AbortSignal
abort reason = liftDOM ((((jsg "AbortSignal") ^. jsf "abort" [toJSVal reason]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static MDN AbortSignal.abort documentation>
abort_ :: (MonadDOM m) => JSVal -> m ()
abort_ reason = liftDOM (void ((jsg "AbortSignal") ^. jsf "abort" [toJSVal reason]))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/any_static MDN AbortSignal.any documentation>
any :: (MonadDOM m, IsAbortSignal signals) => [signals] -> m AbortSignal
any signals = liftDOM ((((jsg "AbortSignal") ^. jsf "any" [toJSVal signals]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/any_static MDN AbortSignal.any documentation>
any_ :: (MonadDOM m, IsAbortSignal signals) => [signals] -> m ()
any_ signals = liftDOM (void ((jsg "AbortSignal") ^. jsf "any" [toJSVal signals]))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static MDN AbortSignal.timeout documentation>
timeout :: (MonadDOM m) => Word53 -> m AbortSignal
timeout milliseconds = liftDOM ((((jsg "AbortSignal") ^. jsf "timeout" [toJSVal milliseconds]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static MDN AbortSignal.timeout documentation>
timeout_ :: (MonadDOM m) => Word53 -> m ()
timeout_ milliseconds = liftDOM (void ((jsg "AbortSignal") ^. jsf "timeout" [toJSVal milliseconds]))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/aborted MDN AbortSignal.aborted documentation>
getAborted :: (MonadDOM m, IsAbortSignal self) => self -> m Bool
getAborted self = liftDOM ((((Types.toAbortSignal self) ^. js "aborted") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/reason MDN AbortSignal.reason documentation>
getReason :: (MonadDOM m, IsAbortSignal self) => self -> m JSVal
getReason self = liftDOM ((Types.toAbortSignal self) ^. js "reason")
-- | <https://dom.spec.whatwg.org/#dom-abortsignal-onabort abort event>
abortEvent :: (IsAbortSignal self, IsEventTarget self) => EventName self Event
abortEvent = unsafeEventNameAsync (toJSString "abort")