@newdash/newdash
Version:
javascript/typescript utility library
32 lines (31 loc) • 864 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.any = void 0;
async function any(iterable) {
return new Promise((resolve, reject) => {
const results = [];
let total = 0;
let finished = 0;
let resolved = false;
for (const task of iterable) {
const index = total;
task
.then((value) => {
results[index] = value;
resolved = true;
resolve(value);
})
.catch((error) => {
results[index] = error;
})
.finally(() => {
finished++;
if (!resolved && finished == total) {
reject(results);
}
});
total++;
}
});
}
exports.any = any;