UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

18 lines (17 loc) 723 B
import {isNullish} from "../../helpers/is-type/is-nullish.mjs"; import {DEFAULT_ABORTED_THROW_FUNCTION} from "../default-aborted-throw-function.constant.mjs"; export function wrapFunctionWithAbortSignal(callback, signal, onAborted) { return (...args) => { return signal.aborted ? onAborted() : callback(...args); }; } export function wrapFunctionWithAbortSignalAndThrow(callback, signal) { return wrapFunctionWithAbortSignal(callback, signal, DEFAULT_ABORTED_THROW_FUNCTION); } export function wrapFunctionWithOptionalAbortSignalAndThrow(callback, signal) { if (isNullish(signal)) { return callback; } else { return wrapFunctionWithAbortSignal(callback, signal, DEFAULT_ABORTED_THROW_FUNCTION); } }