2 Object.defineProperty(exports, "__esModule", { value: true });
3 exports.drawBorderTop = exports.drawBorderJoin = exports.drawBorderBottom = exports.drawBorder = exports.createTableBorderGetter = void 0;
4 const drawContent_1 = require("./drawContent");
5 const drawBorder = (columnWidths, config) => {
6 const { separator, drawVerticalLine } = config;
7 const columns = columnWidths.map((size) => {
8 return config.separator.body.repeat(size);
10 return (0, drawContent_1.drawContent)(columns, {
11 drawSeparator: drawVerticalLine,
12 separatorGetter: (index, columnCount) => {
14 return separator.left;
16 if (index === columnCount) {
17 return separator.right;
19 return separator.join;
23 exports.drawBorder = drawBorder;
24 const drawBorderTop = (columnWidths, config) => {
25 const result = drawBorder(columnWidths, {
28 body: config.border.topBody,
29 join: config.border.topJoin,
30 left: config.border.topLeft,
31 right: config.border.topRight,
34 if (result === '\n') {
39 exports.drawBorderTop = drawBorderTop;
40 const drawBorderJoin = (columnWidths, config) => {
41 return drawBorder(columnWidths, {
44 body: config.border.joinBody,
45 join: config.border.joinJoin,
46 left: config.border.joinLeft,
47 right: config.border.joinRight,
51 exports.drawBorderJoin = drawBorderJoin;
52 const drawBorderBottom = (columnWidths, config) => {
53 return drawBorder(columnWidths, {
56 body: config.border.bottomBody,
57 join: config.border.bottomJoin,
58 left: config.border.bottomLeft,
59 right: config.border.bottomRight,
63 exports.drawBorderBottom = drawBorderBottom;
64 const createTableBorderGetter = (columnWidths, config) => {
65 return (index, size) => {
68 return drawBorderTop(columnWidths, config);
71 return drawBorderBottom(columnWidths, config);
73 return drawBorderJoin(columnWidths, config);
75 // Deal with the header
77 return drawBorderTop(columnWidths, {
81 topJoin: config.border.topBody,
86 return drawBorderJoin(columnWidths, {
90 joinJoin: config.border.headerJoin,
95 return drawBorderBottom(columnWidths, config);
97 return drawBorderJoin(columnWidths, config);
100 exports.createTableBorderGetter = createTableBorderGetter;
101 //# sourceMappingURL=drawBorder.js.map