| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | /** * @fileoverview Visual Studio compatible formatter * @author Ronald Pijnacker */"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 += `(${message.line || 0}`;            output += message.column ? `,${message.column}` : "";            output += `): ${getMessageType(message)}`;            output += message.ruleId ? ` ${message.ruleId}` : "";            output += ` : ${message.message}`;            output += "\n";        });    });    if (total === 0) {        output += "no problems";    } else {        output += `\n${total} problem${total !== 1 ? "s" : ""}`;    }    return output;};
 |