table 4.0.3 → 5.1.0
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/LICENSE +1 -1
- package/README.md +10 -6
- package/dist/alignString.js +20 -20
- package/dist/alignString.js.flow +96 -0
- package/dist/alignString.js.map +1 -0
- package/dist/alignTableData.js +12 -11
- package/dist/alignTableData.js.flow +21 -0
- package/dist/alignTableData.js.map +1 -0
- package/dist/calculateCellHeight.js +14 -17
- package/dist/calculateCellHeight.js.flow +29 -0
- package/dist/calculateCellHeight.js.map +1 -0
- package/dist/calculateCellWidthIndex.js +10 -7
- package/dist/calculateCellWidthIndex.js.flow +13 -0
- package/dist/calculateCellWidthIndex.js.map +1 -0
- package/dist/calculateMaximumColumnWidthIndex.js +11 -11
- package/dist/calculateMaximumColumnWidthIndex.js.flow +27 -0
- package/dist/calculateMaximumColumnWidthIndex.js.map +1 -0
- package/dist/calculateRowHeightIndex.js +15 -19
- package/dist/calculateRowHeightIndex.js.flow +35 -0
- package/dist/calculateRowHeightIndex.js.map +1 -0
- package/dist/createStream.js +35 -68
- package/dist/createStream.js.flow +124 -0
- package/dist/createStream.js.map +1 -0
- package/dist/drawBorder.js +16 -8
- package/dist/drawBorder.js.flow +95 -0
- package/dist/drawBorder.js.map +1 -0
- package/dist/drawRow.js +8 -3
- package/dist/drawRow.js.flow +15 -0
- package/dist/drawRow.js.map +1 -0
- package/dist/drawTable.js +11 -12
- package/dist/drawTable.js.flow +52 -0
- package/dist/drawTable.js.map +1 -0
- package/dist/getBorderCharacters.js +8 -15
- package/dist/getBorderCharacters.js.flow +120 -0
- package/dist/getBorderCharacters.js.map +1 -0
- package/dist/index.js +23 -15
- package/dist/index.js.flow +9 -0
- package/dist/index.js.map +1 -0
- package/dist/makeConfig.js +21 -30
- package/dist/makeConfig.js.flow +72 -0
- package/dist/makeConfig.js.map +1 -0
- package/dist/makeStreamConfig.js +19 -27
- package/dist/makeStreamConfig.js.flow +83 -0
- package/dist/makeStreamConfig.js.map +1 -0
- package/dist/mapDataUsingRowHeightIndex.js +17 -22
- package/dist/mapDataUsingRowHeightIndex.js.flow +41 -0
- package/dist/mapDataUsingRowHeightIndex.js.map +1 -0
- package/dist/padTableData.js +8 -4
- package/dist/padTableData.js.flow +14 -0
- package/dist/padTableData.js.map +1 -0
- package/dist/schemas/config.json +1 -1
- package/dist/schemas/streamConfig.json +1 -1
- package/dist/stringifyTableData.js +7 -2
- package/dist/stringifyTableData.js.flow +11 -0
- package/dist/stringifyTableData.js.map +1 -0
- package/dist/table.js +29 -53
- package/dist/table.js.flow +95 -0
- package/dist/table.js.map +1 -0
- package/dist/truncateTableData.js +10 -7
- package/dist/truncateTableData.js.flow +17 -0
- package/dist/truncateTableData.js.map +1 -0
- package/dist/validateConfig.js +4 -5
- package/dist/validateConfig.js.flow +34 -0
- package/dist/validateConfig.js.map +1 -0
- package/dist/validateStreamConfig.js +4 -5
- package/dist/validateTableData.js +62 -15
- package/dist/validateTableData.js.flow +46 -0
- package/dist/validateTableData.js.map +1 -0
- package/dist/wrapString.js +13 -15
- package/dist/wrapString.js.flow +29 -0
- package/dist/wrapString.js.map +1 -0
- package/dist/wrapWord.js +15 -20
- package/dist/wrapWord.js.flow +39 -0
- package/dist/wrapWord.js.map +1 -0
- package/package.json +42 -30
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import calculateCellHeight from './calculateCellHeight';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Calculates the vertical row span index.
|
|
6
|
+
*
|
|
7
|
+
* @param {Array[]} rows
|
|
8
|
+
* @param {Object} config
|
|
9
|
+
* @returns {number[]}
|
|
10
|
+
*/
|
|
11
|
+
export default (rows, config) => {
|
|
12
|
+
const tableWidth = rows[0].length;
|
|
13
|
+
|
|
14
|
+
const rowSpanIndex = [];
|
|
15
|
+
|
|
16
|
+
rows.forEach((cells) => {
|
|
17
|
+
const cellHeightIndex = new Array(tableWidth).fill(1);
|
|
18
|
+
|
|
19
|
+
cells.forEach((value, index1) => {
|
|
20
|
+
if (!_.isNumber(config.columns[index1].width)) {
|
|
21
|
+
throw new TypeError('column[index].width must be a number.');
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (!_.isBoolean(config.columns[index1].wrapWord)) {
|
|
25
|
+
throw new TypeError('column[index].wrapWord must be a boolean.');
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
cellHeightIndex[index1] = calculateCellHeight(value, config.columns[index1].width, config.columns[index1].wrapWord);
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
rowSpanIndex.push(_.max(cellHeightIndex));
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
return rowSpanIndex;
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/calculateRowHeightIndex.js"],"names":["rows","config","tableWidth","length","rowSpanIndex","forEach","cells","cellHeightIndex","Array","fill","value","index1","_","isNumber","columns","width","TypeError","isBoolean","wrapWord","push","max"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA;;;;;;;iCAOgBA,I,EAAMC,M,KAAW;AAC/B,QAAMC,UAAU,GAAGF,IAAI,CAAC,CAAD,CAAJ,CAAQG,MAA3B;AAEA,QAAMC,YAAY,GAAG,EAArB;AAEAJ,EAAAA,IAAI,CAACK,OAAL,CAAcC,KAAD,IAAW;AACtB,UAAMC,eAAe,GAAG,IAAIC,KAAJ,CAAUN,UAAV,EAAsBO,IAAtB,CAA2B,CAA3B,CAAxB;AAEAH,IAAAA,KAAK,CAACD,OAAN,CAAc,CAACK,KAAD,EAAQC,MAAR,KAAmB;AAC/B,UAAI,CAACC,gBAAEC,QAAF,CAAWZ,MAAM,CAACa,OAAP,CAAeH,MAAf,EAAuBI,KAAlC,CAAL,EAA+C;AAC7C,cAAM,IAAIC,SAAJ,CAAc,uCAAd,CAAN;AACD;;AAED,UAAI,CAACJ,gBAAEK,SAAF,CAAYhB,MAAM,CAACa,OAAP,CAAeH,MAAf,EAAuBO,QAAnC,CAAL,EAAmD;AACjD,cAAM,IAAIF,SAAJ,CAAc,2CAAd,CAAN;AACD;;AAEDT,MAAAA,eAAe,CAACI,MAAD,CAAf,GAA0B,kCAAoBD,KAApB,EAA2BT,MAAM,CAACa,OAAP,CAAeH,MAAf,EAAuBI,KAAlD,EAAyDd,MAAM,CAACa,OAAP,CAAeH,MAAf,EAAuBO,QAAhF,CAA1B;AACD,KAVD;AAYAd,IAAAA,YAAY,CAACe,IAAb,CAAkBP,gBAAEQ,GAAF,CAAMb,eAAN,CAAlB;AACD,GAhBD;AAkBA,SAAOH,YAAP;AACD,C","sourcesContent":["import _ from 'lodash';\nimport calculateCellHeight from './calculateCellHeight';\n\n/**\n * Calculates the vertical row span index.\n *\n * @param {Array[]} rows\n * @param {Object} config\n * @returns {number[]}\n */\nexport default (rows, config) => {\n const tableWidth = rows[0].length;\n\n const rowSpanIndex = [];\n\n rows.forEach((cells) => {\n const cellHeightIndex = new Array(tableWidth).fill(1);\n\n cells.forEach((value, index1) => {\n if (!_.isNumber(config.columns[index1].width)) {\n throw new TypeError('column[index].width must be a number.');\n }\n\n if (!_.isBoolean(config.columns[index1].wrapWord)) {\n throw new TypeError('column[index].wrapWord must be a boolean.');\n }\n\n cellHeightIndex[index1] = calculateCellHeight(value, config.columns[index1].width, config.columns[index1].wrapWord);\n });\n\n rowSpanIndex.push(_.max(cellHeightIndex));\n });\n\n return rowSpanIndex;\n};\n"],"file":"calculateRowHeightIndex.js"}
|
package/dist/createStream.js
CHANGED
|
@@ -1,46 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
6
7
|
|
|
7
|
-
var _lodash = require(
|
|
8
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
+
var _makeStreamConfig = _interopRequireDefault(require("./makeStreamConfig"));
|
|
10
11
|
|
|
11
|
-
var
|
|
12
|
+
var _drawRow = _interopRequireDefault(require("./drawRow"));
|
|
12
13
|
|
|
13
|
-
var
|
|
14
|
+
var _drawBorder = require("./drawBorder");
|
|
14
15
|
|
|
15
|
-
var
|
|
16
|
+
var _stringifyTableData = _interopRequireDefault(require("./stringifyTableData"));
|
|
16
17
|
|
|
17
|
-
var
|
|
18
|
+
var _truncateTableData = _interopRequireDefault(require("./truncateTableData"));
|
|
18
19
|
|
|
19
|
-
var
|
|
20
|
+
var _mapDataUsingRowHeightIndex = _interopRequireDefault(require("./mapDataUsingRowHeightIndex"));
|
|
20
21
|
|
|
21
|
-
var
|
|
22
|
+
var _alignTableData = _interopRequireDefault(require("./alignTableData"));
|
|
22
23
|
|
|
23
|
-
var
|
|
24
|
+
var _padTableData = _interopRequireDefault(require("./padTableData"));
|
|
24
25
|
|
|
25
|
-
var
|
|
26
|
-
|
|
27
|
-
var _truncateTableData2 = _interopRequireDefault(_truncateTableData);
|
|
28
|
-
|
|
29
|
-
var _mapDataUsingRowHeightIndex = require('./mapDataUsingRowHeightIndex');
|
|
30
|
-
|
|
31
|
-
var _mapDataUsingRowHeightIndex2 = _interopRequireDefault(_mapDataUsingRowHeightIndex);
|
|
32
|
-
|
|
33
|
-
var _alignTableData = require('./alignTableData');
|
|
34
|
-
|
|
35
|
-
var _alignTableData2 = _interopRequireDefault(_alignTableData);
|
|
36
|
-
|
|
37
|
-
var _padTableData = require('./padTableData');
|
|
38
|
-
|
|
39
|
-
var _padTableData2 = _interopRequireDefault(_padTableData);
|
|
40
|
-
|
|
41
|
-
var _calculateRowHeightIndex = require('./calculateRowHeightIndex');
|
|
42
|
-
|
|
43
|
-
var _calculateRowHeightIndex2 = _interopRequireDefault(_calculateRowHeightIndex);
|
|
26
|
+
var _calculateRowHeightIndex = _interopRequireDefault(require("./calculateRowHeightIndex"));
|
|
44
27
|
|
|
45
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
46
29
|
|
|
@@ -51,90 +34,71 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
51
34
|
*/
|
|
52
35
|
const prepareData = (data, config) => {
|
|
53
36
|
let rows;
|
|
54
|
-
|
|
55
|
-
rows = (0,
|
|
56
|
-
|
|
57
|
-
rows = (0,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
rows = (0, _mapDataUsingRowHeightIndex2.default)(rows, rowHeightIndex, config);
|
|
62
|
-
rows = (0, _alignTableData2.default)(rows, config);
|
|
63
|
-
rows = (0, _padTableData2.default)(rows, config);
|
|
64
|
-
|
|
37
|
+
rows = (0, _stringifyTableData.default)(data);
|
|
38
|
+
rows = (0, _truncateTableData.default)(data, config);
|
|
39
|
+
const rowHeightIndex = (0, _calculateRowHeightIndex.default)(rows, config);
|
|
40
|
+
rows = (0, _mapDataUsingRowHeightIndex.default)(rows, rowHeightIndex, config);
|
|
41
|
+
rows = (0, _alignTableData.default)(rows, config);
|
|
42
|
+
rows = (0, _padTableData.default)(rows, config);
|
|
65
43
|
return rows;
|
|
66
44
|
};
|
|
67
|
-
|
|
68
45
|
/**
|
|
69
46
|
* @param {string[]} row
|
|
70
47
|
* @param {number[]} columnWidthIndex
|
|
71
48
|
* @param {Object} config
|
|
72
49
|
* @returns {undefined}
|
|
73
50
|
*/
|
|
51
|
+
|
|
52
|
+
|
|
74
53
|
const create = (row, columnWidthIndex, config) => {
|
|
75
54
|
const rows = prepareData([row], config);
|
|
76
|
-
|
|
77
55
|
const body = rows.map(literalRow => {
|
|
78
|
-
return (0,
|
|
56
|
+
return (0, _drawRow.default)(literalRow, config.border);
|
|
79
57
|
}).join('');
|
|
80
|
-
|
|
81
58
|
let output;
|
|
82
|
-
|
|
83
59
|
output = '';
|
|
84
|
-
|
|
85
60
|
output += (0, _drawBorder.drawBorderTop)(columnWidthIndex, config.border);
|
|
86
61
|
output += body;
|
|
87
62
|
output += (0, _drawBorder.drawBorderBottom)(columnWidthIndex, config.border);
|
|
88
|
-
|
|
89
|
-
output = _lodash2.default.trimEnd(output);
|
|
90
|
-
|
|
63
|
+
output = _lodash.default.trimEnd(output);
|
|
91
64
|
process.stdout.write(output);
|
|
92
65
|
};
|
|
93
|
-
|
|
94
66
|
/**
|
|
95
67
|
* @param {string[]} row
|
|
96
68
|
* @param {number[]} columnWidthIndex
|
|
97
69
|
* @param {Object} config
|
|
98
70
|
* @returns {undefined}
|
|
99
71
|
*/
|
|
72
|
+
|
|
73
|
+
|
|
100
74
|
const append = (row, columnWidthIndex, config) => {
|
|
101
75
|
const rows = prepareData([row], config);
|
|
102
|
-
|
|
103
76
|
const body = rows.map(literalRow => {
|
|
104
|
-
return (0,
|
|
77
|
+
return (0, _drawRow.default)(literalRow, config.border);
|
|
105
78
|
}).join('');
|
|
106
|
-
|
|
107
79
|
let output;
|
|
108
|
-
|
|
109
80
|
output = '\r\u001B[K';
|
|
110
|
-
|
|
111
81
|
output += (0, _drawBorder.drawBorderJoin)(columnWidthIndex, config.border);
|
|
112
82
|
output += body;
|
|
113
83
|
output += (0, _drawBorder.drawBorderBottom)(columnWidthIndex, config.border);
|
|
114
|
-
|
|
115
|
-
output = _lodash2.default.trimEnd(output);
|
|
116
|
-
|
|
84
|
+
output = _lodash.default.trimEnd(output);
|
|
117
85
|
process.stdout.write(output);
|
|
118
86
|
};
|
|
119
|
-
|
|
120
87
|
/**
|
|
121
88
|
* @param {Object} userConfig
|
|
122
89
|
* @returns {Object}
|
|
123
90
|
*/
|
|
124
91
|
|
|
125
|
-
exports.default = function () {
|
|
126
|
-
let userConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
127
92
|
|
|
128
|
-
|
|
93
|
+
const createStream = (userConfig = {}) => {
|
|
94
|
+
const config = (0, _makeStreamConfig.default)(userConfig); // @todo Use 'Object.values' when Node.js v6 support is dropped.
|
|
129
95
|
|
|
130
|
-
const columnWidthIndex =
|
|
96
|
+
const columnWidthIndex = _lodash.default.values(_lodash.default.mapValues(config.columns, column => {
|
|
131
97
|
return column.width + column.paddingLeft + column.paddingRight;
|
|
132
|
-
});
|
|
98
|
+
}));
|
|
133
99
|
|
|
134
100
|
let empty;
|
|
135
|
-
|
|
136
101
|
empty = true;
|
|
137
|
-
|
|
138
102
|
return {
|
|
139
103
|
/**
|
|
140
104
|
* @param {string[]} row
|
|
@@ -147,11 +111,14 @@ exports.default = function () {
|
|
|
147
111
|
|
|
148
112
|
if (empty) {
|
|
149
113
|
empty = false;
|
|
150
|
-
|
|
151
114
|
return create(row, columnWidthIndex, config);
|
|
152
115
|
} else {
|
|
153
116
|
return append(row, columnWidthIndex, config);
|
|
154
117
|
}
|
|
155
118
|
}
|
|
156
119
|
};
|
|
157
|
-
};
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
var _default = createStream;
|
|
123
|
+
exports.default = _default;
|
|
124
|
+
//# sourceMappingURL=createStream.js.map
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import _ from 'lodash';
|
|
2
|
+
import makeStreamConfig from './makeStreamConfig';
|
|
3
|
+
import drawRow from './drawRow';
|
|
4
|
+
import {
|
|
5
|
+
drawBorderBottom,
|
|
6
|
+
drawBorderJoin,
|
|
7
|
+
drawBorderTop
|
|
8
|
+
} from './drawBorder';
|
|
9
|
+
import stringifyTableData from './stringifyTableData';
|
|
10
|
+
import truncateTableData from './truncateTableData';
|
|
11
|
+
import mapDataUsingRowHeightIndex from './mapDataUsingRowHeightIndex';
|
|
12
|
+
import alignTableData from './alignTableData';
|
|
13
|
+
import padTableData from './padTableData';
|
|
14
|
+
import calculateRowHeightIndex from './calculateRowHeightIndex';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @param {Array} data
|
|
18
|
+
* @param {Object} config
|
|
19
|
+
* @returns {Array}
|
|
20
|
+
*/
|
|
21
|
+
const prepareData = (data, config) => {
|
|
22
|
+
let rows;
|
|
23
|
+
|
|
24
|
+
rows = stringifyTableData(data);
|
|
25
|
+
|
|
26
|
+
rows = truncateTableData(data, config);
|
|
27
|
+
|
|
28
|
+
const rowHeightIndex = calculateRowHeightIndex(rows, config);
|
|
29
|
+
|
|
30
|
+
rows = mapDataUsingRowHeightIndex(rows, rowHeightIndex, config);
|
|
31
|
+
rows = alignTableData(rows, config);
|
|
32
|
+
rows = padTableData(rows, config);
|
|
33
|
+
|
|
34
|
+
return rows;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @param {string[]} row
|
|
39
|
+
* @param {number[]} columnWidthIndex
|
|
40
|
+
* @param {Object} config
|
|
41
|
+
* @returns {undefined}
|
|
42
|
+
*/
|
|
43
|
+
const create = (row, columnWidthIndex, config) => {
|
|
44
|
+
const rows = prepareData([row], config);
|
|
45
|
+
|
|
46
|
+
const body = rows.map((literalRow) => {
|
|
47
|
+
return drawRow(literalRow, config.border);
|
|
48
|
+
}).join('');
|
|
49
|
+
|
|
50
|
+
let output;
|
|
51
|
+
|
|
52
|
+
output = '';
|
|
53
|
+
|
|
54
|
+
output += drawBorderTop(columnWidthIndex, config.border);
|
|
55
|
+
output += body;
|
|
56
|
+
output += drawBorderBottom(columnWidthIndex, config.border);
|
|
57
|
+
|
|
58
|
+
output = _.trimEnd(output);
|
|
59
|
+
|
|
60
|
+
process.stdout.write(output);
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @param {string[]} row
|
|
65
|
+
* @param {number[]} columnWidthIndex
|
|
66
|
+
* @param {Object} config
|
|
67
|
+
* @returns {undefined}
|
|
68
|
+
*/
|
|
69
|
+
const append = (row, columnWidthIndex, config) => {
|
|
70
|
+
const rows = prepareData([row], config);
|
|
71
|
+
|
|
72
|
+
const body = rows.map((literalRow) => {
|
|
73
|
+
return drawRow(literalRow, config.border);
|
|
74
|
+
}).join('');
|
|
75
|
+
|
|
76
|
+
let output;
|
|
77
|
+
|
|
78
|
+
output = '\r\u001B[K';
|
|
79
|
+
|
|
80
|
+
output += drawBorderJoin(columnWidthIndex, config.border);
|
|
81
|
+
output += body;
|
|
82
|
+
output += drawBorderBottom(columnWidthIndex, config.border);
|
|
83
|
+
|
|
84
|
+
output = _.trimEnd(output);
|
|
85
|
+
|
|
86
|
+
process.stdout.write(output);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* @param {Object} userConfig
|
|
91
|
+
* @returns {Object}
|
|
92
|
+
*/
|
|
93
|
+
export default (userConfig = {}) => {
|
|
94
|
+
const config = makeStreamConfig(userConfig);
|
|
95
|
+
|
|
96
|
+
// @todo Use 'Object.values' when Node.js v6 support is dropped.
|
|
97
|
+
const columnWidthIndex = _.values(_.mapValues(config.columns, (column) => {
|
|
98
|
+
return column.width + column.paddingLeft + column.paddingRight;
|
|
99
|
+
}));
|
|
100
|
+
|
|
101
|
+
let empty;
|
|
102
|
+
|
|
103
|
+
empty = true;
|
|
104
|
+
|
|
105
|
+
return {
|
|
106
|
+
/**
|
|
107
|
+
* @param {string[]} row
|
|
108
|
+
* @returns {undefined}
|
|
109
|
+
*/
|
|
110
|
+
write: (row) => {
|
|
111
|
+
if (row.length !== config.columnCount) {
|
|
112
|
+
throw new Error('Row cell count does not match the config.columnCount.');
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (empty) {
|
|
116
|
+
empty = false;
|
|
117
|
+
|
|
118
|
+
return create(row, columnWidthIndex, config);
|
|
119
|
+
} else {
|
|
120
|
+
return append(row, columnWidthIndex, config);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/createStream.js"],"names":["prepareData","data","config","rows","rowHeightIndex","create","row","columnWidthIndex","body","map","literalRow","border","join","output","_","trimEnd","process","stdout","write","append","userConfig","values","mapValues","columns","column","width","paddingLeft","paddingRight","empty","length","columnCount","Error"],"mappings":"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","sourcesContent":["import _ from 'lodash';\nimport makeStreamConfig from './makeStreamConfig';\nimport drawRow from './drawRow';\nimport {\n drawBorderBottom,\n drawBorderJoin,\n drawBorderTop\n} from './drawBorder';\nimport stringifyTableData from './stringifyTableData';\nimport truncateTableData from './truncateTableData';\nimport mapDataUsingRowHeightIndex from './mapDataUsingRowHeightIndex';\nimport alignTableData from './alignTableData';\nimport padTableData from './padTableData';\nimport calculateRowHeightIndex from './calculateRowHeightIndex';\n\n/**\n * @param {Array} data\n * @param {Object} config\n * @returns {Array}\n */\nconst prepareData = (data, config) => {\n let rows;\n\n rows = stringifyTableData(data);\n\n rows = truncateTableData(data, config);\n\n const rowHeightIndex = calculateRowHeightIndex(rows, config);\n\n rows = mapDataUsingRowHeightIndex(rows, rowHeightIndex, config);\n rows = alignTableData(rows, config);\n rows = padTableData(rows, config);\n\n return rows;\n};\n\n/**\n * @param {string[]} row\n * @param {number[]} columnWidthIndex\n * @param {Object} config\n * @returns {undefined}\n */\nconst create = (row, columnWidthIndex, config) => {\n const rows = prepareData([row], config);\n\n const body = rows.map((literalRow) => {\n return drawRow(literalRow, config.border);\n }).join('');\n\n let output;\n\n output = '';\n\n output += drawBorderTop(columnWidthIndex, config.border);\n output += body;\n output += drawBorderBottom(columnWidthIndex, config.border);\n\n output = _.trimEnd(output);\n\n process.stdout.write(output);\n};\n\n/**\n * @param {string[]} row\n * @param {number[]} columnWidthIndex\n * @param {Object} config\n * @returns {undefined}\n */\nconst append = (row, columnWidthIndex, config) => {\n const rows = prepareData([row], config);\n\n const body = rows.map((literalRow) => {\n return drawRow(literalRow, config.border);\n }).join('');\n\n let output;\n\n output = '\\r\\u001B[K';\n\n output += drawBorderJoin(columnWidthIndex, config.border);\n output += body;\n output += drawBorderBottom(columnWidthIndex, config.border);\n\n output = _.trimEnd(output);\n\n process.stdout.write(output);\n};\n\n/**\n * @param {Object} userConfig\n * @returns {Object}\n */\nexport default (userConfig = {}) => {\n const config = makeStreamConfig(userConfig);\n\n // @todo Use 'Object.values' when Node.js v6 support is dropped.\n const columnWidthIndex = _.values(_.mapValues(config.columns, (column) => {\n return column.width + column.paddingLeft + column.paddingRight;\n }));\n\n let empty;\n\n empty = true;\n\n return {\n /**\n * @param {string[]} row\n * @returns {undefined}\n */\n write: (row) => {\n if (row.length !== config.columnCount) {\n throw new Error('Row cell count does not match the config.columnCount.');\n }\n\n if (empty) {\n empty = false;\n\n return create(row, columnWidthIndex, config);\n } else {\n return append(row, columnWidthIndex, config);\n }\n }\n };\n};\n"],"file":"createStream.js"}
|
package/dist/drawBorder.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.drawBorderTop = exports.drawBorderJoin = exports.drawBorderBottom = exports.drawBorder = void 0;
|
|
7
|
+
|
|
6
8
|
/**
|
|
7
9
|
* @typedef drawBorder~parts
|
|
8
10
|
* @property {string} left
|
|
@@ -20,10 +22,8 @@ const drawBorder = (columnSizeIndex, parts) => {
|
|
|
20
22
|
const columns = columnSizeIndex.map(size => {
|
|
21
23
|
return parts.body.repeat(size);
|
|
22
24
|
}).join(parts.join);
|
|
23
|
-
|
|
24
25
|
return parts.left + columns + parts.right + '\n';
|
|
25
26
|
};
|
|
26
|
-
|
|
27
27
|
/**
|
|
28
28
|
* @typedef drawBorderTop~parts
|
|
29
29
|
* @property {string} topLeft
|
|
@@ -37,6 +37,10 @@ const drawBorder = (columnSizeIndex, parts) => {
|
|
|
37
37
|
* @param {drawBorderTop~parts} parts
|
|
38
38
|
* @returns {string}
|
|
39
39
|
*/
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
exports.drawBorder = drawBorder;
|
|
43
|
+
|
|
40
44
|
const drawBorderTop = (columnSizeIndex, parts) => {
|
|
41
45
|
return drawBorder(columnSizeIndex, {
|
|
42
46
|
body: parts.topBody,
|
|
@@ -45,7 +49,6 @@ const drawBorderTop = (columnSizeIndex, parts) => {
|
|
|
45
49
|
right: parts.topRight
|
|
46
50
|
});
|
|
47
51
|
};
|
|
48
|
-
|
|
49
52
|
/**
|
|
50
53
|
* @typedef drawBorderJoin~parts
|
|
51
54
|
* @property {string} joinLeft
|
|
@@ -59,6 +62,10 @@ const drawBorderTop = (columnSizeIndex, parts) => {
|
|
|
59
62
|
* @param {drawBorderJoin~parts} parts
|
|
60
63
|
* @returns {string}
|
|
61
64
|
*/
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
exports.drawBorderTop = drawBorderTop;
|
|
68
|
+
|
|
62
69
|
const drawBorderJoin = (columnSizeIndex, parts) => {
|
|
63
70
|
return drawBorder(columnSizeIndex, {
|
|
64
71
|
body: parts.joinBody,
|
|
@@ -67,7 +74,6 @@ const drawBorderJoin = (columnSizeIndex, parts) => {
|
|
|
67
74
|
right: parts.joinRight
|
|
68
75
|
});
|
|
69
76
|
};
|
|
70
|
-
|
|
71
77
|
/**
|
|
72
78
|
* @typedef drawBorderBottom~parts
|
|
73
79
|
* @property {string} topLeft
|
|
@@ -81,6 +87,10 @@ const drawBorderJoin = (columnSizeIndex, parts) => {
|
|
|
81
87
|
* @param {drawBorderBottom~parts} parts
|
|
82
88
|
* @returns {string}
|
|
83
89
|
*/
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
exports.drawBorderJoin = drawBorderJoin;
|
|
93
|
+
|
|
84
94
|
const drawBorderBottom = (columnSizeIndex, parts) => {
|
|
85
95
|
return drawBorder(columnSizeIndex, {
|
|
86
96
|
body: parts.bottomBody,
|
|
@@ -90,7 +100,5 @@ const drawBorderBottom = (columnSizeIndex, parts) => {
|
|
|
90
100
|
});
|
|
91
101
|
};
|
|
92
102
|
|
|
93
|
-
exports.drawBorder = drawBorder;
|
|
94
103
|
exports.drawBorderBottom = drawBorderBottom;
|
|
95
|
-
|
|
96
|
-
exports.drawBorderTop = drawBorderTop;
|
|
104
|
+
//# sourceMappingURL=drawBorder.js.map
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef drawBorder~parts
|
|
3
|
+
* @property {string} left
|
|
4
|
+
* @property {string} right
|
|
5
|
+
* @property {string} body
|
|
6
|
+
* @property {string} join
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @param {number[]} columnSizeIndex
|
|
11
|
+
* @param {drawBorder~parts} parts
|
|
12
|
+
* @returns {string}
|
|
13
|
+
*/
|
|
14
|
+
const drawBorder = (columnSizeIndex, parts) => {
|
|
15
|
+
const columns = columnSizeIndex
|
|
16
|
+
.map((size) => {
|
|
17
|
+
return parts.body.repeat(size);
|
|
18
|
+
})
|
|
19
|
+
.join(parts.join);
|
|
20
|
+
|
|
21
|
+
return parts.left + columns + parts.right + '\n';
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @typedef drawBorderTop~parts
|
|
26
|
+
* @property {string} topLeft
|
|
27
|
+
* @property {string} topRight
|
|
28
|
+
* @property {string} topBody
|
|
29
|
+
* @property {string} topJoin
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @param {number[]} columnSizeIndex
|
|
34
|
+
* @param {drawBorderTop~parts} parts
|
|
35
|
+
* @returns {string}
|
|
36
|
+
*/
|
|
37
|
+
const drawBorderTop = (columnSizeIndex, parts) => {
|
|
38
|
+
return drawBorder(columnSizeIndex, {
|
|
39
|
+
body: parts.topBody,
|
|
40
|
+
join: parts.topJoin,
|
|
41
|
+
left: parts.topLeft,
|
|
42
|
+
right: parts.topRight
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @typedef drawBorderJoin~parts
|
|
48
|
+
* @property {string} joinLeft
|
|
49
|
+
* @property {string} joinRight
|
|
50
|
+
* @property {string} joinBody
|
|
51
|
+
* @property {string} joinJoin
|
|
52
|
+
*/
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @param {number[]} columnSizeIndex
|
|
56
|
+
* @param {drawBorderJoin~parts} parts
|
|
57
|
+
* @returns {string}
|
|
58
|
+
*/
|
|
59
|
+
const drawBorderJoin = (columnSizeIndex, parts) => {
|
|
60
|
+
return drawBorder(columnSizeIndex, {
|
|
61
|
+
body: parts.joinBody,
|
|
62
|
+
join: parts.joinJoin,
|
|
63
|
+
left: parts.joinLeft,
|
|
64
|
+
right: parts.joinRight
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @typedef drawBorderBottom~parts
|
|
70
|
+
* @property {string} topLeft
|
|
71
|
+
* @property {string} topRight
|
|
72
|
+
* @property {string} topBody
|
|
73
|
+
* @property {string} topJoin
|
|
74
|
+
*/
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @param {number[]} columnSizeIndex
|
|
78
|
+
* @param {drawBorderBottom~parts} parts
|
|
79
|
+
* @returns {string}
|
|
80
|
+
*/
|
|
81
|
+
const drawBorderBottom = (columnSizeIndex, parts) => {
|
|
82
|
+
return drawBorder(columnSizeIndex, {
|
|
83
|
+
body: parts.bottomBody,
|
|
84
|
+
join: parts.bottomJoin,
|
|
85
|
+
left: parts.bottomLeft,
|
|
86
|
+
right: parts.bottomRight
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export {
|
|
91
|
+
drawBorder,
|
|
92
|
+
drawBorderBottom,
|
|
93
|
+
drawBorderJoin,
|
|
94
|
+
drawBorderTop
|
|
95
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/drawBorder.js"],"names":["drawBorder","columnSizeIndex","parts","columns","map","size","body","repeat","join","left","right","drawBorderTop","topBody","topJoin","topLeft","topRight","drawBorderJoin","joinBody","joinJoin","joinLeft","joinRight","drawBorderBottom","bottomBody","bottomJoin","bottomLeft","bottomRight"],"mappings":";;;;;;;AAAA;;;;;;;;AAQA;;;;;AAKA,MAAMA,UAAU,GAAG,CAACC,eAAD,EAAkBC,KAAlB,KAA4B;AAC7C,QAAMC,OAAO,GAAGF,eAAe,CAC5BG,GADa,CACRC,IAAD,IAAU;AACb,WAAOH,KAAK,CAACI,IAAN,CAAWC,MAAX,CAAkBF,IAAlB,CAAP;AACD,GAHa,EAIbG,IAJa,CAIRN,KAAK,CAACM,IAJE,CAAhB;AAMA,SAAON,KAAK,CAACO,IAAN,GAAaN,OAAb,GAAuBD,KAAK,CAACQ,KAA7B,GAAqC,IAA5C;AACD,CARD;AAUA;;;;;;;;AAQA;;;;;;;;;AAKA,MAAMC,aAAa,GAAG,CAACV,eAAD,EAAkBC,KAAlB,KAA4B;AAChD,SAAOF,UAAU,CAACC,eAAD,EAAkB;AACjCK,IAAAA,IAAI,EAAEJ,KAAK,CAACU,OADqB;AAEjCJ,IAAAA,IAAI,EAAEN,KAAK,CAACW,OAFqB;AAGjCJ,IAAAA,IAAI,EAAEP,KAAK,CAACY,OAHqB;AAIjCJ,IAAAA,KAAK,EAAER,KAAK,CAACa;AAJoB,GAAlB,CAAjB;AAMD,CAPD;AASA;;;;;;;;AAQA;;;;;;;;;AAKA,MAAMC,cAAc,GAAG,CAACf,eAAD,EAAkBC,KAAlB,KAA4B;AACjD,SAAOF,UAAU,CAACC,eAAD,EAAkB;AACjCK,IAAAA,IAAI,EAAEJ,KAAK,CAACe,QADqB;AAEjCT,IAAAA,IAAI,EAAEN,KAAK,CAACgB,QAFqB;AAGjCT,IAAAA,IAAI,EAAEP,KAAK,CAACiB,QAHqB;AAIjCT,IAAAA,KAAK,EAAER,KAAK,CAACkB;AAJoB,GAAlB,CAAjB;AAMD,CAPD;AASA;;;;;;;;AAQA;;;;;;;;;AAKA,MAAMC,gBAAgB,GAAG,CAACpB,eAAD,EAAkBC,KAAlB,KAA4B;AACnD,SAAOF,UAAU,CAACC,eAAD,EAAkB;AACjCK,IAAAA,IAAI,EAAEJ,KAAK,CAACoB,UADqB;AAEjCd,IAAAA,IAAI,EAAEN,KAAK,CAACqB,UAFqB;AAGjCd,IAAAA,IAAI,EAAEP,KAAK,CAACsB,UAHqB;AAIjCd,IAAAA,KAAK,EAAER,KAAK,CAACuB;AAJoB,GAAlB,CAAjB;AAMD,CAPD","sourcesContent":["/**\n * @typedef drawBorder~parts\n * @property {string} left\n * @property {string} right\n * @property {string} body\n * @property {string} join\n */\n\n/**\n * @param {number[]} columnSizeIndex\n * @param {drawBorder~parts} parts\n * @returns {string}\n */\nconst drawBorder = (columnSizeIndex, parts) => {\n const columns = columnSizeIndex\n .map((size) => {\n return parts.body.repeat(size);\n })\n .join(parts.join);\n\n return parts.left + columns + parts.right + '\\n';\n};\n\n/**\n * @typedef drawBorderTop~parts\n * @property {string} topLeft\n * @property {string} topRight\n * @property {string} topBody\n * @property {string} topJoin\n */\n\n/**\n * @param {number[]} columnSizeIndex\n * @param {drawBorderTop~parts} parts\n * @returns {string}\n */\nconst drawBorderTop = (columnSizeIndex, parts) => {\n return drawBorder(columnSizeIndex, {\n body: parts.topBody,\n join: parts.topJoin,\n left: parts.topLeft,\n right: parts.topRight\n });\n};\n\n/**\n * @typedef drawBorderJoin~parts\n * @property {string} joinLeft\n * @property {string} joinRight\n * @property {string} joinBody\n * @property {string} joinJoin\n */\n\n/**\n * @param {number[]} columnSizeIndex\n * @param {drawBorderJoin~parts} parts\n * @returns {string}\n */\nconst drawBorderJoin = (columnSizeIndex, parts) => {\n return drawBorder(columnSizeIndex, {\n body: parts.joinBody,\n join: parts.joinJoin,\n left: parts.joinLeft,\n right: parts.joinRight\n });\n};\n\n/**\n * @typedef drawBorderBottom~parts\n * @property {string} topLeft\n * @property {string} topRight\n * @property {string} topBody\n * @property {string} topJoin\n */\n\n/**\n * @param {number[]} columnSizeIndex\n * @param {drawBorderBottom~parts} parts\n * @returns {string}\n */\nconst drawBorderBottom = (columnSizeIndex, parts) => {\n return drawBorder(columnSizeIndex, {\n body: parts.bottomBody,\n join: parts.bottomJoin,\n left: parts.bottomLeft,\n right: parts.bottomRight\n });\n};\n\nexport {\n drawBorder,\n drawBorderBottom,\n drawBorderJoin,\n drawBorderTop\n};\n"],"file":"drawBorder.js"}
|
package/dist/drawRow.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* @typedef {Object} drawRow~border
|
|
@@ -16,6 +17,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
16
17
|
* @param {drawRow~border} border
|
|
17
18
|
* @returns {string}
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
|
+
const drawRow = (columns, border) => {
|
|
20
21
|
return border.bodyLeft + columns.join(border.bodyJoin) + border.bodyRight + '\n';
|
|
21
|
-
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
var _default = drawRow;
|
|
25
|
+
exports.default = _default;
|
|
26
|
+
//# sourceMappingURL=drawRow.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {Object} drawRow~border
|
|
3
|
+
* @property {string} bodyLeft
|
|
4
|
+
* @property {string} bodyRight
|
|
5
|
+
* @property {string} bodyJoin
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @param {number[]} columns
|
|
10
|
+
* @param {drawRow~border} border
|
|
11
|
+
* @returns {string}
|
|
12
|
+
*/
|
|
13
|
+
export default (columns, border) => {
|
|
14
|
+
return border.bodyLeft + columns.join(border.bodyJoin) + border.bodyRight + '\n';
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/drawRow.js"],"names":["columns","border","bodyLeft","join","bodyJoin","bodyRight"],"mappings":";;;;;;;AAAA;;;;;;;AAOA;;;;;iBAKgBA,O,EAASC,M,KAAW;AAClC,SAAOA,MAAM,CAACC,QAAP,GAAkBF,OAAO,CAACG,IAAR,CAAaF,MAAM,CAACG,QAApB,CAAlB,GAAkDH,MAAM,CAACI,SAAzD,GAAqE,IAA5E;AACD,C","sourcesContent":["/**\n * @typedef {Object} drawRow~border\n * @property {string} bodyLeft\n * @property {string} bodyRight\n * @property {string} bodyJoin\n */\n\n/**\n * @param {number[]} columns\n * @param {drawRow~border} border\n * @returns {string}\n */\nexport default (columns, border) => {\n return border.bodyLeft + columns.join(border.bodyJoin) + border.bodyRight + '\\n';\n};\n"],"file":"drawRow.js"}
|
package/dist/drawTable.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.default = void 0;
|
|
6
7
|
|
|
7
|
-
var _drawBorder = require(
|
|
8
|
+
var _drawBorder = require("./drawBorder");
|
|
8
9
|
|
|
9
|
-
var _drawRow = require(
|
|
10
|
-
|
|
11
|
-
var _drawRow2 = _interopRequireDefault(_drawRow);
|
|
10
|
+
var _drawRow = _interopRequireDefault(require("./drawRow"));
|
|
12
11
|
|
|
13
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
13
|
|
|
@@ -20,15 +19,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
20
19
|
* @param {Function} drawHorizontalLine
|
|
21
20
|
* @returns {string}
|
|
22
21
|
*/
|
|
23
|
-
|
|
22
|
+
const drawTable = (rows, border, columnSizeIndex, rowSpanIndex, drawHorizontalLine) => {
|
|
24
23
|
let output;
|
|
25
24
|
let realRowIndex;
|
|
26
25
|
let rowHeight;
|
|
27
|
-
|
|
28
26
|
const rowCount = rows.length;
|
|
29
|
-
|
|
30
27
|
realRowIndex = 0;
|
|
31
|
-
|
|
32
28
|
output = '';
|
|
33
29
|
|
|
34
30
|
if (drawHorizontalLine(realRowIndex, rowCount)) {
|
|
@@ -36,11 +32,10 @@ exports.default = (rows, border, columnSizeIndex, rowSpanIndex, drawHorizontalLi
|
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
rows.forEach((row, index0) => {
|
|
39
|
-
output += (0,
|
|
35
|
+
output += (0, _drawRow.default)(row, border);
|
|
40
36
|
|
|
41
37
|
if (!rowHeight) {
|
|
42
38
|
rowHeight = rowSpanIndex[realRowIndex];
|
|
43
|
-
|
|
44
39
|
realRowIndex++;
|
|
45
40
|
}
|
|
46
41
|
|
|
@@ -56,4 +51,8 @@ exports.default = (rows, border, columnSizeIndex, rowSpanIndex, drawHorizontalLi
|
|
|
56
51
|
}
|
|
57
52
|
|
|
58
53
|
return output;
|
|
59
|
-
};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
var _default = drawTable;
|
|
57
|
+
exports.default = _default;
|
|
58
|
+
//# sourceMappingURL=drawTable.js.map
|