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
 |