@hotglue/cli
Version:
hotglue CLI tools
92 lines (73 loc) • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.cl = cl;
exports.default = void 0;
exports.pp = pp;
exports.pr = pr;
exports.printJSON = void 0;
exports.setDefault = setDefault;
exports.setTheme = setTheme;
exports.themed = void 0;
var _util = require("util");
var _chalk = _interopRequireDefault(require("chalk"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const defaultTheme = {
primary: str => _chalk.default.whiteBright(str),
secondary: str => _chalk.default.white(str),
info: str => _chalk.default.green(str),
warn: str => _chalk.default.yellow(str),
error: str => _chalk.default.redBright(str),
success: str => _chalk.default.greenBright(str)
};
let _currentTheme = defaultTheme;
let _defaultColor = 'primary';
function setTheme(theme) {
_currentTheme = { ...defaultTheme,
...theme
};
return funcs;
}
function print(str) {
process.stdout.write(str);
} // maybe rename themed to color()
const themed = (content, color = _defaultColor) => {
if (!content) return '';
if (typeof content === 'string') return _currentTheme[color] ? _currentTheme[color](content) : _currentTheme[_defaultColor](content); // apply limits on returned string from inspected object
const objString = (0, _util.inspect)(content, {
colors: true
});
return _currentTheme[color] ? _currentTheme[color](objString) : objString;
}; // console.log passthrough with default coloring
exports.themed = themed;
function cl(...contentArgs) {
console.log(...contentArgs);
return funcs;
}
function pr(content, color) {
print(themed(content, color));
print('\n');
return funcs;
}
function pp(content, color) {
print(themed(content, color));
return funcs;
}
function setDefault(color = 'primary') {
if (_currentTheme[color]) _defaultColor = color;
return funcs;
}
const funcs = {
cl,
pr,
pp,
setTheme,
setDefault
};
const printJSON = data => {
console.log(JSON.stringify(data));
};
exports.printJSON = printJSON;
var _default = funcs;
exports.default = _default;