cli-block
Version:
Create nice looking CLI Blocks
30 lines • 1.97 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.blockMid = exports.createBlockMid = void 0;
const tools_1 = require("@sil/tools");
const util_1 = require("../util");
const settings_1 = require("../settings");
const util_2 = require("../util");
const border_1 = require("../border");
const blocks_line_1 = require("./blocks.line");
// A Mid Block Line
const createBlockMid = (txt = null, settings = {}) => {
const cfg = (0, settings_1.useSettings)(settings);
let lines = [];
cfg.autoSpace && lines.push((0, blocks_line_1.createBlockLine)(null, cfg)[0]);
let line = ``;
if (txt)
line += `${(0, util_2.spaces)(cfg.indentBlock)}${(0, border_1.border)(border_1.BorderElement.midStart, cfg)}${(0, tools_1.repeat)(Math.floor((0, settings_1.getFrameWidth)(cfg) / 3), (0, border_1.border)(border_1.BorderElement.midLine, cfg), true)}${(0, util_2.centerText)((0, util_1.bold)(txt), (0, settings_1.getFrameWidth)(cfg) - Math.floor((0, settings_1.getFrameWidth)(cfg) / 3) * 2)}${(0, tools_1.repeat)(Math.floor((0, settings_1.getFrameWidth)(cfg) / 3), `${(0, border_1.border)(border_1.BorderElement.midLine, settings)}`, true)}${(0, border_1.border)(border_1.BorderElement.midEnd, settings)}`;
else
line += `${(0, util_2.spaces)(cfg.indentBlock)}${(0, border_1.border)(border_1.BorderElement.midStart, cfg)}${(0, tools_1.repeat)((0, settings_1.getFrameWidth)(cfg), (0, border_1.border)(border_1.BorderElement.midLine, cfg), true)}${(0, border_1.border)(border_1.BorderElement.midEnd, cfg)}`;
lines.push(line);
cfg.autoSpace && lines.push((0, blocks_line_1.createBlockLine)(null, cfg)[0]);
return lines;
};
exports.createBlockMid = createBlockMid;
const blockMid = (txt = null, settings = {}) => {
let lines = (0, exports.createBlockMid)(txt, settings);
lines.forEach((line) => (0, util_2.logger)(line, settings));
};
exports.blockMid = blockMid;
//# sourceMappingURL=blocks.mid.js.map
;