UNPKG

aveazul

Version:

Bluebird drop-in replacement built on native Promise

50 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.addStaticAny = addStaticAny; /* eslint-disable @typescript-eslint/no-explicit-any */ const util_ts_1 = require("./util.cjs"); const error_1 = require("@jchip/error"); function addStaticAny(AveAzul, force = false) { if (force || !AveAzul.any) { AveAzul.any = function (args) { let argsArray; try { argsArray = (0, util_ts_1.toArray)(args); } catch (error) { return AveAzul.reject(error); } if (argsArray.length === 0) { return AveAzul.reject(new RangeError("Input array must contain at least 1 items but contains only 0 items")); } return new AveAzul((resolve, reject) => { const len = argsArray.length; let settled = false; const errors = []; const doFinish = (value) => { if (settled) return; settled = true; resolve(value); }; const addError = (err) => { errors.push(err); if (!settled && errors.length >= len) { settled = true; reject(new error_1.AggregateError(errors)); } }; for (let i = 0; i < len; i++) { const arg = argsArray[i]; if ((0, util_ts_1.isPromise)(arg)) { arg.then(doFinish, addError); } else { doFinish(arg); } } }); }; } } //# sourceMappingURL=any.cjs.map