export enum ALL_SETTLED_STATUS { FULFILLED = 'fulfilled', REJECTED = 'rejected', } export const hasRejections = ( results: PromiseSettledResult[], ): boolean => results.some((result) => result.status === ALL_SETTLED_STATUS.REJECTED); export const getFormattedErrors = ( results: PromiseSettledResult[], ): string => results .filter((result) => result.status === ALL_SETTLED_STATUS.REJECTED) .map( (result, index) => `${index + 1}.) ${(result as PromiseRejectedResult).reason}`, ) .join(', '); export const getFulfilledValues = ( allSettledResults: PromiseSettledResult[], ): T[] => allSettledResults .filter((result) => result.status === ALL_SETTLED_STATUS.FULFILLED) .map( (fulfilledResult) => (fulfilledResult as PromiseFulfilledResult).value, );