Cypress_TS/CyLukTs/lukan/node_modules/cypress/lib/logger.js
Lukáš Kaňka ea3e372146 údržba
2023-08-15 18:35:50 +02:00

53 lines
1.2 KiB
JavaScript

"use strict";
const chalk = require('chalk');
let logs = [];
const logLevel = () => {
return process.env.npm_config_loglevel || 'notice';
};
const error = (...messages) => {
logs.push(messages.join(' '));
console.log(chalk.red(...messages)); // eslint-disable-line no-console
};
const warn = (...messages) => {
if (logLevel() === 'silent') return;
logs.push(messages.join(' '));
console.log(chalk.yellow(...messages)); // eslint-disable-line no-console
};
const log = (...messages) => {
if (logLevel() === 'silent' || logLevel() === 'warn') return;
logs.push(messages.join(' '));
console.log(...messages); // eslint-disable-line no-console
};
const always = (...messages) => {
logs.push(messages.join(' '));
console.log(...messages); // eslint-disable-line no-console
};
// splits long text into lines and calls log()
// on each one to allow easy unit testing for specific message
const logLines = text => {
const lines = text.split('\n');
for (const line of lines) {
log(line);
}
};
const print = () => {
return logs.join('\n');
};
const reset = () => {
logs = [];
};
module.exports = {
log,
warn,
error,
always,
logLines,
print,
reset,
logLevel
};