cli-block
Version:
Create nice looking CLI Blocks
42 lines • 1.69 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getContentWidth = exports.getPadding = exports.getFrameWidth = exports.useSettings = exports.defaultSettings = void 0;
const border_model_1 = require("../border/border.model");
const settings_1 = require("../types/settings");
exports.defaultSettings = {
borderType: border_model_1.BorderType.single,
borderColor: border_model_1.BorderColor.dim,
frameWidth: 80,
indentBlock: 5,
prefix: "",
newLine: true,
autoSpace: true,
tableHeader: true,
tableSpace: true,
padding: -1,
pathDepth: -1,
logger: settings_1.LoggerType.STDOUT,
logLevel: settings_1.LoggerLevel.VERBOSE,
logOutputLevel: settings_1.LoggerLevel.VERBOSE,
};
const useSettings = (settings = {}) => {
return Object.assign(Object.assign({}, exports.defaultSettings), settings);
};
exports.useSettings = useSettings;
const getFrameWidth = (settings = {}) => {
const cfg = (0, exports.useSettings)(settings);
return process.stdout.columns < cfg.frameWidth + cfg.indentBlock * 2 + 2
? process.stdout.columns - cfg.indentBlock * 2
: cfg.frameWidth;
};
exports.getFrameWidth = getFrameWidth;
const getPadding = (settings = {}) => (settings = (0, exports.useSettings)(settings)) && settings.padding > -1
? settings.padding
: (0, exports.getFrameWidth)(settings) / 10;
exports.getPadding = getPadding;
const getContentWidth = (settings = {}) => {
const cfg = (0, exports.useSettings)(settings);
return (0, exports.getFrameWidth)(cfg) - (0, exports.getPadding)(cfg) * 2;
};
exports.getContentWidth = getContentWidth;
//# sourceMappingURL=settings.js.map
;