ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/AbortSignal.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from dom (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.AbortSignal
(js_throwIfAborted, js_abort, js_any, js_timeout, js_getAborted, js_getReason, 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 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 "(($1) => { return $1[\"throwIfAborted\"](); })"
js_throwIfAborted :: AbortSignal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/throwIfAborted MDN AbortSignal.throwIfAborted documentation>
throwIfAborted :: (MonadDOM m, IsAbortSignal self) => self -> m ()
throwIfAborted self = liftDOM (void ((js_throwIfAborted ((Types.toAbortSignal self)))))
foreign import javascript safe "(($1) => { return globalThis[\"AbortSignal\"][\"abort\"]($1); })"
js_abort :: JSVal -> IO AbortSignal
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static MDN AbortSignal.abort documentation>
abort :: (MonadDOM m) => JSVal -> m AbortSignal
abort reason = liftDOM ((js_abort (reason)))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static MDN AbortSignal.abort documentation>
abort_ :: (MonadDOM m) => JSVal -> m ()
abort_ reason = liftDOM (void ((js_abort (reason))))
foreign import javascript safe "(($1) => { return globalThis[\"AbortSignal\"][\"any\"]($1); })"
js_any :: JSVal -> IO AbortSignal
-- | <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 (((toJSVal signals) >>= \a1' -> js_any a1'))
-- | <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 (((toJSVal signals) >>= \a1' -> js_any a1')))
foreign import javascript safe "(($1) => { return globalThis[\"AbortSignal\"][\"timeout\"]($1); })"
js_timeout :: JSVal -> IO AbortSignal
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static MDN AbortSignal.timeout documentation>
timeout :: (MonadDOM m) => Word53 -> m AbortSignal
timeout milliseconds = liftDOM (((toJSVal milliseconds) >>= \a1' -> js_timeout a1'))
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static MDN AbortSignal.timeout documentation>
timeout_ :: (MonadDOM m) => Word53 -> m ()
timeout_ milliseconds = liftDOM (void (((toJSVal milliseconds) >>= \a1' -> js_timeout a1')))
foreign import javascript unsafe "(($1) => { return $1[\"aborted\"]; })"
js_getAborted :: AbortSignal -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/aborted MDN AbortSignal.aborted documentation>
getAborted :: (MonadDOM m, IsAbortSignal self) => self -> m Bool
getAborted self = liftDOM ((js_getAborted ((Types.toAbortSignal self))))
foreign import javascript unsafe "(($1) => { return $1[\"reason\"]; })"
js_getReason :: AbortSignal -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/AbortSignal/reason MDN AbortSignal.reason documentation>
getReason :: (MonadDOM m, IsAbortSignal self) => self -> m JSVal
getReason self = liftDOM ((js_getReason ((Types.toAbortSignal self))))
-- | <https://dom.spec.whatwg.org/#dom-abortsignal-onabort abort event>
abortEvent :: (IsAbortSignal self, IsEventTarget self) => EventName self Event
abortEvent = unsafeEventNameAsync (toJSString "abort")