console-table-printer 2.14.0 → 2.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,6 @@
7
7
  [![npm version](https://badge.fury.io/js/console-table-printer.svg)](https://badge.fury.io/js/console-table-printer)
8
8
  [![codecov](https://codecov.io/gh/console-table-printer/console-table-printer/graph/badge.svg?token=SWX9VBuYUs)](https://codecov.io/gh/console-table-printer/console-table-printer)
9
9
 
10
-
11
10
  ## Synopsis
12
11
 
13
12
  Printing Simple Table with Coloring rows on your console. Its useful when you want to present some tables on console using js.
@@ -1,12 +1,6 @@
1
- import { ALIGNMENT, COLOR } from '../models/common';
2
- import { ColumnOptionsRaw } from '../models/external-table';
1
+ import { ColumnOptionsRaw, ComputedColumn, DefaultColumnOptions } from '../models/external-table';
3
2
  import { Column } from '../models/internal-table';
4
3
  export declare const objIfExists: (key: string, val: any) => {
5
4
  [x: string]: any;
6
5
  };
7
- export declare const rawColumnToInternalColumn: (column: ColumnOptionsRaw, defaultColumnStyles?: {
8
- alignment?: ALIGNMENT;
9
- color?: COLOR;
10
- maxLen?: number;
11
- minLen?: number;
12
- }) => Column;
6
+ export declare const rawColumnToInternalColumn: (column: ColumnOptionsRaw | ComputedColumn, defaultColumnStyles?: DefaultColumnOptions) => Column;
@@ -1,5 +1,5 @@
1
1
  import { CharLengthDict, Dictionary, Row } from '../models/common';
2
- import { ColumnOptionsRaw, ComplexOptions, ComputedColumn, RowFilterFunction, RowSortFunction } from '../models/external-table';
2
+ import { ColumnOptionsRaw, ComplexOptions, ComputedColumn, DefaultColumnOptions, RowFilterFunction, RowSortFunction } from '../models/external-table';
3
3
  import { Column, TableStyleDetails } from '../models/internal-table';
4
4
  import { ColorMap } from '../utils/colored-console-line';
5
5
  import { RowOptions } from '../utils/table-helpers';
@@ -16,6 +16,7 @@ declare class TableInternal {
16
16
  rowSeparator: boolean;
17
17
  colorMap: ColorMap;
18
18
  charLength: CharLengthDict;
19
+ defaultColumnOptions?: DefaultColumnOptions;
19
20
  initSimple(columns: string[]): void;
20
21
  initDetailed(options: ComplexOptions): void;
21
22
  constructor(options?: ComplexOptions | string[]);
@@ -28,6 +28,7 @@ class TableInternal {
28
28
  ((_a = options === null || options === void 0 ? void 0 : options.columns) === null || _a === void 0 ? void 0 : _a.map((column) => (0, input_converter_1.rawColumnToInternalColumn)(column, options === null || options === void 0 ? void 0 : options.defaultColumnOptions))) || this.columns;
29
29
  this.rowSeparator = (options === null || options === void 0 ? void 0 : options.rowSeparator) || this.rowSeparator;
30
30
  this.charLength = (options === null || options === void 0 ? void 0 : options.charLength) || this.charLength;
31
+ this.defaultColumnOptions = (options === null || options === void 0 ? void 0 : options.defaultColumnOptions) || this.defaultColumnOptions;
31
32
  if (options === null || options === void 0 ? void 0 : options.shouldDisableColors) {
32
33
  this.colorMap = {};
33
34
  }
@@ -52,6 +53,7 @@ class TableInternal {
52
53
  this.rowSeparator = table_constants_1.DEFAULT_ROW_SEPARATOR;
53
54
  this.colorMap = colored_console_line_1.DEFAULT_COLOR_MAP;
54
55
  this.charLength = {};
56
+ this.defaultColumnOptions = undefined;
55
57
  if (options instanceof Array) {
56
58
  this.initSimple(options);
57
59
  }
@@ -71,9 +73,6 @@ class TableInternal {
71
73
  if (typeof textOrObj === 'string') {
72
74
  this.columns.push((0, table_helpers_1.createColumFromOnlyName)(textOrObj));
73
75
  }
74
- else if ('function' in textOrObj) { // Only way to know if this is a computed column
75
- this.columns.push((0, table_helpers_1.createColumFromComputedColumn)(textOrObj));
76
- }
77
76
  else {
78
77
  this.columns.push((0, input_converter_1.rawColumnToInternalColumn)(textOrObj));
79
78
  }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.preProcessRows = exports.preProcessColumns = void 0;
4
4
  const table_helpers_1 = require("../utils/table-helpers");
5
+ // All these functions are ran when renderTable/printTable is called
5
6
  const createComputedColumnsIfNecessary = (table) => {
6
7
  if (table.computedColumns.length) {
7
8
  table.computedColumns.forEach((computedColumn) => {
@@ -10,7 +11,7 @@ const createComputedColumnsIfNecessary = (table) => {
10
11
  if (isColumnAlreadyExists) {
11
12
  return;
12
13
  }
13
- table.addColumn(computedColumn);
14
+ table.addColumn(Object.assign(Object.assign({}, computedColumn), table.defaultColumnOptions));
14
15
  table.rows.forEach((row, index, rowsArray) => {
15
16
  const arrayRowText = rowsArray.map((elemInRowsArray) => elemInRowsArray.text);
16
17
  row.text[computedColumn.name] = computedColumn.function(row.text, index, arrayRowText);
@@ -15,6 +15,13 @@ export interface ComputedColumn extends ColumnOptionsRaw {
15
15
  }
16
16
  export type RowSortFunction = (row1: any, row2: any) => number;
17
17
  export type RowFilterFunction = (row: any) => Boolean;
18
+ export interface DefaultColumnOptions {
19
+ alignment?: ALIGNMENT;
20
+ color?: COLOR;
21
+ title?: string;
22
+ maxLen?: number;
23
+ minLen?: number;
24
+ }
18
25
  export interface ComplexOptions {
19
26
  style?: TableStyleDetails;
20
27
  title?: string;
@@ -29,11 +36,5 @@ export interface ComplexOptions {
29
36
  shouldDisableColors?: boolean;
30
37
  colorMap?: ColorMap;
31
38
  charLength?: CharLengthDict;
32
- defaultColumnOptions?: {
33
- alignment?: ALIGNMENT;
34
- color?: COLOR;
35
- title?: string;
36
- maxLen?: number;
37
- minLen?: number;
38
- };
39
+ defaultColumnOptions?: DefaultColumnOptions;
39
40
  }
@@ -1,5 +1,4 @@
1
1
  import { CharLengthDict, COLOR, Dictionary, Row } from '../models/common';
2
- import { ComputedColumn } from '../models/external-table';
3
2
  import { Column } from '../models/internal-table';
4
3
  export declare const cellText: (text: string | number) => string;
5
4
  export interface RowOptionsRaw {
@@ -18,7 +17,6 @@ export declare const createTableHorizontalBorders: ({ left, mid, right, other, }
18
17
  other: string;
19
18
  }, column_lengths: number[]) => string;
20
19
  export declare const createColumFromOnlyName: (name: string) => Column;
21
- export declare const createColumFromComputedColumn: (column: ComputedColumn) => Column;
22
20
  export declare const createRow: (color: COLOR, text: Dictionary, separator: boolean) => Row;
23
21
  export declare const findLenOfColumn: (column: Column, rows: Row[], charLength?: CharLengthDict) => number;
24
22
  export declare const renderTableHorizontalBorders: (style: any, column_lengths: number[]) => string;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWidthLimitedColumnsArray = exports.createHeaderAsRow = exports.renderTableHorizontalBorders = exports.findLenOfColumn = exports.createRow = exports.createColumFromComputedColumn = exports.createColumFromOnlyName = exports.createTableHorizontalBorders = exports.convertRawRowOptionsToStandard = exports.cellText = void 0;
4
- const input_converter_1 = require("../internalTable/input-converter");
3
+ exports.getWidthLimitedColumnsArray = exports.createHeaderAsRow = exports.renderTableHorizontalBorders = exports.findLenOfColumn = exports.createRow = exports.createColumFromOnlyName = exports.createTableHorizontalBorders = exports.convertRawRowOptionsToStandard = exports.cellText = void 0;
5
4
  const console_utils_1 = require("./console-utils");
6
5
  const string_utils_1 = require("./string-utils");
7
6
  const table_constants_1 = require("./table-constants");
@@ -39,11 +38,6 @@ const createColumFromOnlyName = (name) => ({
39
38
  title: name,
40
39
  });
41
40
  exports.createColumFromOnlyName = createColumFromOnlyName;
42
- const createColumFromComputedColumn = (column) => {
43
- var _a;
44
- return (Object.assign(Object.assign(Object.assign(Object.assign({ name: column.name, title: (_a = column.title) !== null && _a !== void 0 ? _a : column.name }, (0, input_converter_1.objIfExists)('color', column.color)), (0, input_converter_1.objIfExists)('maxLen', column.maxLen)), (0, input_converter_1.objIfExists)('minLen', column.minLen)), { alignment: column.alignment || table_constants_1.DEFAULT_ROW_ALIGNMENT }));
45
- };
46
- exports.createColumFromComputedColumn = createColumFromComputedColumn;
47
41
  const createRow = (color, text, separator) => ({
48
42
  color,
49
43
  separator,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "console-table-printer",
3
- "version": "2.14.0",
3
+ "version": "2.14.1",
4
4
  "repository": "github:console-table-printer/console-table-printer",
5
5
  "description": "Printing pretty tables on console log",
6
6
  "main": "dist/index.js",
@@ -10,6 +10,7 @@
10
10
  "build": "tsc",
11
11
  "format": "prettier --write \"**/*.{json,md,ts,tsx,yml,js,jsx}\"",
12
12
  "test": "jest --config jestconfig.json",
13
+ "test:coverage": "jest --config jestconfig.json --coverage",
13
14
  "lint": "eslint --ext=js,ts .",
14
15
  "semantic-release": "semantic-release"
15
16
  },