|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /**
- * @typedef drawBorder~parts
- * @property {string} left
- * @property {string} right
- * @property {string} body
- * @property {string} join
- */
-
- /**
- * @param {number[]} columnSizeIndex
- * @param {drawBorder~parts} parts
- * @returns {string}
- */
- const drawBorder = (columnSizeIndex, parts) => {
- const columns = columnSizeIndex
- .map((size) => {
- return parts.body.repeat(size);
- })
- .join(parts.join);
-
- return parts.left + columns + parts.right + '\n';
- };
-
- /**
- * @typedef drawBorderTop~parts
- * @property {string} topLeft
- * @property {string} topRight
- * @property {string} topBody
- * @property {string} topJoin
- */
-
- /**
- * @param {number[]} columnSizeIndex
- * @param {drawBorderTop~parts} parts
- * @returns {string}
- */
- const drawBorderTop = (columnSizeIndex, parts) => {
- return drawBorder(columnSizeIndex, {
- body: parts.topBody,
- join: parts.topJoin,
- left: parts.topLeft,
- right: parts.topRight
- });
- };
-
- /**
- * @typedef drawBorderJoin~parts
- * @property {string} joinLeft
- * @property {string} joinRight
- * @property {string} joinBody
- * @property {string} joinJoin
- */
-
- /**
- * @param {number[]} columnSizeIndex
- * @param {drawBorderJoin~parts} parts
- * @returns {string}
- */
- const drawBorderJoin = (columnSizeIndex, parts) => {
- return drawBorder(columnSizeIndex, {
- body: parts.joinBody,
- join: parts.joinJoin,
- left: parts.joinLeft,
- right: parts.joinRight
- });
- };
-
- /**
- * @typedef drawBorderBottom~parts
- * @property {string} topLeft
- * @property {string} topRight
- * @property {string} topBody
- * @property {string} topJoin
- */
-
- /**
- * @param {number[]} columnSizeIndex
- * @param {drawBorderBottom~parts} parts
- * @returns {string}
- */
- const drawBorderBottom = (columnSizeIndex, parts) => {
- return drawBorder(columnSizeIndex, {
- body: parts.bottomBody,
- join: parts.bottomJoin,
- left: parts.bottomLeft,
- right: parts.bottomRight
- });
- };
-
- export {
- drawBorder,
- drawBorderBottom,
- drawBorderJoin,
- drawBorderTop
- };
|