You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

35 lines
1.4 KiB

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const chalk_1 = require("chalk");
const os = require("os");
const NormalizedMessage_1 = require("../NormalizedMessage");
/**
* Creates new default formatter.
*
* @returns {defaultFormatter}
*/
function createDefaultFormatter() {
return function defaultFormatter(message, useColors) {
const colors = new chalk_1.default.constructor({ enabled: useColors });
const messageColor = message.isWarningSeverity()
? colors.bold.yellow
: colors.bold.red;
const fileAndNumberColor = colors.bold.cyan;
const codeColor = colors.grey;
if (message.code === NormalizedMessage_1.NormalizedMessage.ERROR_CODE_INTERNAL) {
return (messageColor(`INTERNAL ${message.severity.toUpperCase()}: `) +
message.content +
(message.stack
? os.EOL + 'stack trace:' + os.EOL + colors.gray(message.stack)
: ''));
}
return [
messageColor(`${message.severity.toUpperCase()} in `) +
fileAndNumberColor(`${message.file}(${message.line},${message.character})`) +
messageColor(':'),
codeColor(message.getFormattedCode() + ': ') + message.content
].join(os.EOL);
};
}
exports.createDefaultFormatter = createDefaultFormatter;
//# sourceMappingURL=defaultFormatter.js.map