cli-block
Version:
Create nice looking CLI Blocks
28 lines • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.blockHeader = exports.createBlockHeader = void 0;
const tools_1 = require("@sil/tools");
const border_1 = require("../border");
const settings_1 = require("../settings");
const util_1 = require("../util");
// The Start block
const createBlockHeader = (txt = "", settings = {}) => {
const cfg = (0, settings_1.useSettings)(settings);
if (txt !== "") {
return [
`${(0, util_1.spaces)(cfg.indentBlock)}${(0, border_1.border)(border_1.BorderElement.topStart, settings)}${(0, tools_1.repeat)(Math.floor((0, settings_1.getFrameWidth)(cfg) / 3), (0, border_1.border)(border_1.BorderElement.startLine, settings), true)}${(0, util_1.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.startLine, cfg), true)}${(0, border_1.border)(border_1.BorderElement.topEnd, cfg)}`,
];
}
else {
return [
`${(0, util_1.spaces)(cfg.indentBlock)}${(0, border_1.border)(border_1.BorderElement.topStart, settings)}${(0, tools_1.repeat)((0, settings_1.getFrameWidth)(cfg), (0, border_1.border)(border_1.BorderElement.startLine, cfg), true)}${(0, border_1.border)(border_1.BorderElement.topEnd, cfg)}`,
];
}
};
exports.createBlockHeader = createBlockHeader;
const blockHeader = (txt = "", settings = {}) => {
const cfg = (0, settings_1.useSettings)(settings);
cfg.autoSpace && (0, util_1.logger)((0, exports.createBlockHeader)(txt, cfg)[0], cfg);
};
exports.blockHeader = blockHeader;
//# sourceMappingURL=blocks.header.js.map