| /** | 
|  * @fileoverview Compact reporter | 
|  * @author Nicholas C. Zakas | 
|  */ | 
| "use strict"; | 
|   | 
| //------------------------------------------------------------------------------ | 
| // Helper Functions | 
| //------------------------------------------------------------------------------ | 
|   | 
| /** | 
|  * Returns the severity of warning or error | 
|  * @param {Object} message message object to examine | 
|  * @returns {string} severity level | 
|  * @private | 
|  */ | 
| function getMessageType(message) { | 
|     if (message.fatal || message.severity === 2) { | 
|         return "Error"; | 
|     } | 
|     return "Warning"; | 
|   | 
| } | 
|   | 
|   | 
| //------------------------------------------------------------------------------ | 
| // Public Interface | 
| //------------------------------------------------------------------------------ | 
|   | 
| module.exports = function(results) { | 
|   | 
|     let output = "", | 
|         total = 0; | 
|   | 
|     results.forEach(result => { | 
|   | 
|         const messages = result.messages; | 
|   | 
|         total += messages.length; | 
|   | 
|         messages.forEach(message => { | 
|   | 
|             output += `${result.filePath}: `; | 
|             output += `line ${message.line || 0}`; | 
|             output += `, col ${message.column || 0}`; | 
|             output += `, ${getMessageType(message)}`; | 
|             output += ` - ${message.message}`; | 
|             output += message.ruleId ? ` (${message.ruleId})` : ""; | 
|             output += "\n"; | 
|   | 
|         }); | 
|   | 
|     }); | 
|   | 
|     if (total > 0) { | 
|         output += `\n${total} problem${total !== 1 ? "s" : ""}`; | 
|     } | 
|   | 
|     return output; | 
| }; |