@rawcmd/typewriters
Version:
Collection of typewriters for styling command-line messages for Rawcmd.
29 lines • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@rawcmd/core");
const title_1 = require("./title");
const row_1 = require("./row");
const utils_1 = require("@rawcmd/utils");
function errorTypewriter(options) {
options = Object.assign({ title: 'Error', message: 'An unexpected error occurred.', code: 500000, totalWidth: 80 }, options);
const writeTitle = title_1.titleTypewriter(options);
const writeBody = row_1.rowTypewriter([
{
index: 0,
width: options.totalWidth,
},
]);
return (error) => {
if (!error) {
return '';
}
const code = `(${!utils_1.isUndefined(error.code) ? error.code : options.code})`;
const title = [options.title, code].join(' ');
const message = [error.message || options.message];
const titleOutput = writeTitle(title);
const bodyOutput = writeBody(message);
return [titleOutput, bodyOutput].filter((o) => !!o).join(core_1.EOL);
};
}
exports.errorTypewriter = errorTypewriter;
//# sourceMappingURL=error.js.map