@callstack/reassure-logger
Version:
Logger for Reassure project
74 lines (70 loc) • 2.07 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.clearLine = clearLine;
exports.color = color;
exports.configure = configure;
exports.error = error;
exports.log = log;
exports.newLine = newLine;
exports.progress = progress;
exports.verbose = verbose;
exports.warn = warn;
var _readline = _interopRequireDefault(require("readline"));
var _chalk = _interopRequireDefault(require("chalk"));
var _colors = require("./colors");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const defaultConfig = {
verbose: false,
silent: false
};
let config = {
...defaultConfig
};
const colorError = _chalk.default.hex(_colors.colors.error);
const colorWarn = _chalk.default.hex(_colors.colors.warn);
const colorVerbose = _chalk.default.hex(_colors.colors.verbose);
function configure(options) {
config = {
...config,
...options
};
}
// Jest is wrapping console.* calls, so we need to get the raw console object
const rawConsole = require('console');
function error(message, ...args) {
rawConsole.error(colorError(message, ...args));
}
function warn(message, ...args) {
if (config.silent) return;
rawConsole.warn(colorWarn(message, ...args));
}
function log(message, ...args) {
if (config.silent) return;
rawConsole.log(message, ...args);
}
function verbose(message, ...args) {
if (!config.verbose || config.silent) return;
rawConsole.log(colorVerbose(message, ...args));
}
function newLine() {
if (config.silent) return;
rawConsole.log();
}
function color(color, ...args) {
if (config.silent) return;
return rawConsole.log(_chalk.default.hex(_colors.colors[color])(...args));
}
/** Log message that indicates progress of operation, does not output the trailing newline. */
function progress(message) {
process.stdout.write(message);
}
/**
* Clears current lint. To be used in conjunction with `progress`.
*/
function clearLine() {
_readline.default.clearLine(process.stdout, 0);
_readline.default.cursorTo(process.stdout, 0);
}
//# sourceMappingURL=logger.js.map
;