@rawcmd/typewriters
Version:
Collection of typewriters for styling command-line messages for Rawcmd.
25 lines • 945 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@rawcmd/core");
const contents_1 = require("./contents");
const title_1 = require("./title");
function linksTypewriter(options) {
options = Object.assign({ title: 'Links' }, options);
const writeTitle = title_1.titleTypewriter(options);
const writeBody = contents_1.contentsTypewriter(options);
return (command) => {
if (!command || command.links.length <= 0) {
return '';
}
const data = command.links.filter((l) => {
return !!l.name && !!l.url;
}).map((l) => {
return [l.name, l.url];
});
const titleOutput = writeTitle(options.title);
const bodyOutput = writeBody(data);
return [titleOutput, bodyOutput].filter((o) => !!o).join(core_1.EOL);
};
}
exports.linksTypewriter = linksTypewriter;
//# sourceMappingURL=links.js.map