'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;