UNPKG

myst-cli

Version:
17 lines (16 loc) 533 B
/** * Resolve all promises * * Errors are caught so successful promises can resolve. Then errors are logged. */ export async function resolveAndLogErrors(session, promises, throwOnFailure) { let errors = await Promise.all(promises.map((p) => p.catch((e) => e))); errors = errors.filter((e) => e instanceof Error); errors.forEach((e) => { session.log.debug(`\n\n${e?.stack}\n\n`); session.log.error(e); }); if (throwOnFailure && errors.length > 0) throw errors[0]; return errors; }