48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
import * as chalk from 'chalk';
|
|
|
|
export const E2E_LOG_PREFIX = `${chalk.reset.inverse.bold.keyword('orange')(
|
|
' E2E '
|
|
)}`;
|
|
|
|
export function e2eConsoleLogger(message: string, body?: string) {
|
|
process.stdout.write('\n');
|
|
process.stdout.write(`${E2E_LOG_PREFIX} ${message}\n`);
|
|
if (body) {
|
|
process.stdout.write(`${body}\n`);
|
|
}
|
|
process.stdout.write('\n');
|
|
}
|
|
|
|
export function logInfo(title: string, body?: string) {
|
|
const message = `${chalk.reset.inverse.bold.white(
|
|
' INFO '
|
|
)} ${chalk.bold.white(title)}`;
|
|
return e2eConsoleLogger(message, body);
|
|
}
|
|
|
|
export function logError(title: string, body?: string) {
|
|
const message = `${chalk.reset.inverse.bold.red(' ERROR ')} ${chalk.bold.red(
|
|
title
|
|
)}`;
|
|
return e2eConsoleLogger(message, body);
|
|
}
|
|
|
|
export function logSuccess(title: string, body?: string) {
|
|
const message = `${chalk.reset.inverse.bold.green(
|
|
' SUCCESS '
|
|
)} ${chalk.bold.green(title)}`;
|
|
return e2eConsoleLogger(message, body);
|
|
}
|
|
|
|
/**
|
|
* Remove log colors for fail proof string search
|
|
* @param log
|
|
* @returns
|
|
*/
|
|
export function stripConsoleColors(log: string): string {
|
|
return log?.replace(
|
|
/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,
|
|
''
|
|
);
|
|
}
|