Add logUtils.table and logUtils.header
This commit is contained in:
@@ -1,4 +1,13 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"version": "4.3.0",
|
||||||
|
"changes": [
|
||||||
|
{
|
||||||
|
"note": "Add `logUtils.table` and `logUtils.header`",
|
||||||
|
"pr": "TODO"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "4.2.0",
|
"version": "4.2.0",
|
||||||
"changes": [
|
"changes": [
|
||||||
|
|||||||
@@ -1,12 +1,29 @@
|
|||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
|
const DEFAULT_TERMINAL_WIDTH = 80;
|
||||||
|
const TERMINAL_WIDTH = process.stdout.columns || DEFAULT_TERMINAL_WIDTH;
|
||||||
|
|
||||||
export const logUtils = {
|
export const logUtils = {
|
||||||
log(...args: any[]): void {
|
log(...args: any[]): void {
|
||||||
console.log(...args); // tslint:disable-line:no-console
|
console.log(...args); // tslint:disable-line:no-console
|
||||||
},
|
},
|
||||||
|
header(text: string, padStr: string = '='): void {
|
||||||
|
const padLength = TERMINAL_WIDTH - text.length;
|
||||||
|
const padLengthEnd = (padLength + 1) / 2;
|
||||||
|
const leftPadded = text.padStart(TERMINAL_WIDTH - padLengthEnd, padStr);
|
||||||
|
const padded = leftPadded.padEnd(TERMINAL_WIDTH, padStr);
|
||||||
|
console.log(padded); // tslint:disable-line:no-console
|
||||||
|
},
|
||||||
warn(...args: any[]): void {
|
warn(...args: any[]): void {
|
||||||
console.warn(...args); // tslint:disable-line:no-console
|
console.warn(...args); // tslint:disable-line:no-console
|
||||||
},
|
},
|
||||||
|
table(columnarData: { [rowName: string]: any }): void {
|
||||||
|
const formattedColumnarData = _.mapValues(columnarData, (columnOrColumns: any, _rowName: string) =>
|
||||||
|
_.isNumber(columnOrColumns) ? columnOrColumns.toLocaleString() : columnOrColumns,
|
||||||
|
);
|
||||||
|
console.table(formattedColumnarData); // tslint:disable-line:no-console
|
||||||
|
},
|
||||||
logWithTime(arg: string): void {
|
logWithTime(arg: string): void {
|
||||||
logUtils.log(`[${chalk.gray(new Date().toLocaleTimeString())}] ${arg}`);
|
logUtils.log(`[${chalk.gray(new Date().toLocaleTimeString())}] ${arg}`);
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user