UNPKG

1.52 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = void 0;
7
8var _drawBorder = require("./drawBorder");
9
10var _drawRow = _interopRequireDefault(require("./drawRow"));
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14/**
15 * @param {Array} rows
16 * @param {Object} border
17 * @param {Array} columnSizeIndex
18 * @param {Array} rowSpanIndex
19 * @param {Function} drawHorizontalLine
20 * @param {boolean} singleLine
21 * @returns {string}
22 */
23const drawTable = (rows, border, columnSizeIndex, rowSpanIndex, drawHorizontalLine, singleLine) => {
24 let output;
25 let realRowIndex;
26 let rowHeight;
27 const rowCount = rows.length;
28 realRowIndex = 0;
29 output = '';
30
31 if (drawHorizontalLine(realRowIndex, rowCount)) {
32 output += (0, _drawBorder.drawBorderTop)(columnSizeIndex, border);
33 }
34
35 rows.forEach((row, index0) => {
36 output += (0, _drawRow.default)(row, border);
37
38 if (!rowHeight) {
39 rowHeight = rowSpanIndex[realRowIndex];
40 realRowIndex++;
41 }
42
43 rowHeight--;
44
45 if (!singleLine && rowHeight === 0 && index0 !== rowCount - 1 && drawHorizontalLine(realRowIndex, rowCount)) {
46 output += (0, _drawBorder.drawBorderJoin)(columnSizeIndex, border);
47 }
48 });
49
50 if (drawHorizontalLine(realRowIndex, rowCount)) {
51 output += (0, _drawBorder.drawBorderBottom)(columnSizeIndex, border);
52 }
53
54 return output;
55};
56
57var _default = drawTable;
58exports.default = _default;
59//# sourceMappingURL=drawTable.js.map
\No newline at end of file