.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / stylelint / node_modules / table / dist / drawBorder.js
1 'use strict';
2
3 Object.defineProperty(exports, "__esModule", {
4   value: true
5 });
6 /**
7  * @typedef drawBorder~parts
8  * @property {string} left
9  * @property {string} right
10  * @property {string} body
11  * @property {string} join
12  */
13
14 /**
15  * @param {number[]} columnSizeIndex
16  * @param {drawBorder~parts} parts
17  * @returns {string}
18  */
19 const drawBorder = (columnSizeIndex, parts) => {
20   const columns = columnSizeIndex.map(size => {
21     return parts.body.repeat(size);
22   }).join(parts.join);
23
24   return parts.left + columns + parts.right + '\n';
25 };
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 const drawBorderTop = (columnSizeIndex, parts) => {
41   return drawBorder(columnSizeIndex, {
42     body: parts.topBody,
43     join: parts.topJoin,
44     left: parts.topLeft,
45     right: parts.topRight
46   });
47 };
48
49 /**
50  * @typedef drawBorderJoin~parts
51  * @property {string} joinLeft
52  * @property {string} joinRight
53  * @property {string} joinBody
54  * @property {string} joinJoin
55  */
56
57 /**
58  * @param {number[]} columnSizeIndex
59  * @param {drawBorderJoin~parts} parts
60  * @returns {string}
61  */
62 const drawBorderJoin = (columnSizeIndex, parts) => {
63   return drawBorder(columnSizeIndex, {
64     body: parts.joinBody,
65     join: parts.joinJoin,
66     left: parts.joinLeft,
67     right: parts.joinRight
68   });
69 };
70
71 /**
72  * @typedef drawBorderBottom~parts
73  * @property {string} topLeft
74  * @property {string} topRight
75  * @property {string} topBody
76  * @property {string} topJoin
77  */
78
79 /**
80  * @param {number[]} columnSizeIndex
81  * @param {drawBorderBottom~parts} parts
82  * @returns {string}
83  */
84 const drawBorderBottom = (columnSizeIndex, parts) => {
85   return drawBorder(columnSizeIndex, {
86     body: parts.bottomBody,
87     join: parts.bottomJoin,
88     left: parts.bottomLeft,
89     right: parts.bottomRight
90   });
91 };
92
93 exports.drawBorder = drawBorder;
94 exports.drawBorderBottom = drawBorderBottom;
95 exports.drawBorderJoin = drawBorderJoin;
96 exports.drawBorderTop = drawBorderTop;