UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

32 lines (31 loc) 864 B
"use strict"; 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;