UNPKG

@callstack/reassure-logger

Version:
74 lines (70 loc) 2.07 kB
"use strict"; 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