You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/** * @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) => { const border = drawBorder(columnSizeIndex, { body: parts.topBody, join: parts.topJoin, left: parts.topLeft, right: parts.topRight });
if (border === '\n') { return ''; }
return border; };
/** * @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 };
|