minimal adjustments
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / table / dist / drawTable.js
1 "use strict";
2
3 Object.defineProperty(exports, "__esModule", {
4   value: true
5 });
6 exports.default = void 0;
7
8 var _drawBorder = require("./drawBorder");
9
10 var _drawRow = _interopRequireDefault(require("./drawRow"));
11
12 function _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  */
23 const 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
57 var _default = drawTable;
58 exports.default = _default;
59 //# sourceMappingURL=drawTable.js.map