'use strict' /** * Applies formatters to all AnnotatedErrors. * * A formatter has the following signature: FormattedError => Array. * It takes a formatted error produced by a transformer and returns a list * of log statements to print. * */ function formatErrors (errors, formatters, errorType) { const format = (formatter) => formatter(errors, errorType) || [] const flatten = (accum, curr) => accum.concat(curr) return formatters.map(format).reduce(flatten, []) } module.exports = formatErrors