26 lines
		
	
	
		
			950 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			950 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
exports.allSettledWithThrow = void 0;
 | 
						|
/**
 | 
						|
 * Like `Promise.allSettled()` but throws an error if any promises are rejected.
 | 
						|
 */
 | 
						|
const allSettledWithThrow = async (promises) => {
 | 
						|
    const results = await Promise.allSettled(promises);
 | 
						|
    const rejected = results.filter((result) => result.status === 'rejected');
 | 
						|
    if (rejected.length) {
 | 
						|
        for (const result of rejected) {
 | 
						|
            console.error(result.reason);
 | 
						|
        }
 | 
						|
        throw new Error(`${rejected.length} promise(s) failed - see the above errors`);
 | 
						|
    }
 | 
						|
    // Note: TS was complaining about using `.filter().map()` here for some reason
 | 
						|
    const values = [];
 | 
						|
    for (const result of results) {
 | 
						|
        if (result.status === 'fulfilled') {
 | 
						|
            values.push(result.value);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    return values;
 | 
						|
};
 | 
						|
exports.allSettledWithThrow = allSettledWithThrow;
 | 
						|
//# sourceMappingURL=Util.js.map
 |