'use strict'
|
|
/**
|
* Applies formatters to all AnnotatedErrors.
|
*
|
* A formatter has the following signature: FormattedError => Array<String>.
|
* 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
|