minimal adjustments
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / table / dist / drawBorder.js
1 "use strict";
2
3 Object.defineProperty(exports, "__esModule", {
4   value: true
5 });
6 exports.drawBorderTop = exports.drawBorderJoin = exports.drawBorderBottom = exports.drawBorder = void 0;
7
8 /**
9  * @typedef drawBorder~parts
10  * @property {string} left
11  * @property {string} right
12  * @property {string} body
13  * @property {string} join
14  */
15
16 /**
17  * @param {number[]} columnSizeIndex
18  * @param {drawBorder~parts} parts
19  * @returns {string}
20  */
21 const drawBorder = (columnSizeIndex, parts) => {
22   const columns = columnSizeIndex.map(size => {
23     return parts.body.repeat(size);
24   }).join(parts.join);
25   return parts.left + columns + parts.right + '\n';
26 };
27 /**
28  * @typedef drawBorderTop~parts
29  * @property {string} topLeft
30  * @property {string} topRight
31  * @property {string} topBody
32  * @property {string} topJoin
33  */
34
35 /**
36  * @param {number[]} columnSizeIndex
37  * @param {drawBorderTop~parts} parts
38  * @returns {string}
39  */
40
41
42 exports.drawBorder = drawBorder;
43
44 const drawBorderTop = (columnSizeIndex, parts) => {
45   const border = drawBorder(columnSizeIndex, {
46     body: parts.topBody,
47     join: parts.topJoin,
48     left: parts.topLeft,
49     right: parts.topRight
50   });
51
52   if (border === '\n') {
53     return '';
54   }
55
56   return border;
57 };
58 /**
59  * @typedef drawBorderJoin~parts
60  * @property {string} joinLeft
61  * @property {string} joinRight
62  * @property {string} joinBody
63  * @property {string} joinJoin
64  */
65
66 /**
67  * @param {number[]} columnSizeIndex
68  * @param {drawBorderJoin~parts} parts
69  * @returns {string}
70  */
71
72
73 exports.drawBorderTop = drawBorderTop;
74
75 const drawBorderJoin = (columnSizeIndex, parts) => {
76   return drawBorder(columnSizeIndex, {
77     body: parts.joinBody,
78     join: parts.joinJoin,
79     left: parts.joinLeft,
80     right: parts.joinRight
81   });
82 };
83 /**
84  * @typedef drawBorderBottom~parts
85  * @property {string} topLeft
86  * @property {string} topRight
87  * @property {string} topBody
88  * @property {string} topJoin
89  */
90
91 /**
92  * @param {number[]} columnSizeIndex
93  * @param {drawBorderBottom~parts} parts
94  * @returns {string}
95  */
96
97
98 exports.drawBorderJoin = drawBorderJoin;
99
100 const drawBorderBottom = (columnSizeIndex, parts) => {
101   return drawBorder(columnSizeIndex, {
102     body: parts.bottomBody,
103     join: parts.bottomJoin,
104     left: parts.bottomLeft,
105     right: parts.bottomRight
106   });
107 };
108
109 exports.drawBorderBottom = drawBorderBottom;
110 //# sourceMappingURL=drawBorder.js.map