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
							 |