@lifaon/rx-js-light
Version:
Blazing fast Observables
30 lines (29 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.wrapFunctionWithOptionalAbortSignalAndThrow = exports.wrapFunctionWithAbortSignalAndThrow = exports.wrapFunctionWithAbortSignal = void 0;
var is_nullish_1 = require("../../helpers/is-type/is-nullish.cjs");
var default_aborted_throw_function_constant_1 = require("../default-aborted-throw-function.constant.cjs");
function wrapFunctionWithAbortSignal(callback, signal, onAborted) {
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
return signal.aborted ? onAborted() : callback.apply(void 0, args);
};
}
exports.wrapFunctionWithAbortSignal = wrapFunctionWithAbortSignal;
function wrapFunctionWithAbortSignalAndThrow(callback, signal) {
return wrapFunctionWithAbortSignal(callback, signal, default_aborted_throw_function_constant_1.DEFAULT_ABORTED_THROW_FUNCTION);
}
exports.wrapFunctionWithAbortSignalAndThrow = wrapFunctionWithAbortSignalAndThrow;
function wrapFunctionWithOptionalAbortSignalAndThrow(callback, signal) {
if ((0, is_nullish_1.isNullish)(signal)) {
return callback;
} else {
return wrapFunctionWithAbortSignal(callback, signal, default_aborted_throw_function_constant_1.DEFAULT_ABORTED_THROW_FUNCTION);
}
}
exports.wrapFunctionWithOptionalAbortSignalAndThrow = wrapFunctionWithOptionalAbortSignalAndThrow;