UNPKG

@rawcmd/typewriters

Version:

Collection of typewriters for styling command-line messages for Rawcmd.

31 lines 1.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@rawcmd/core"); const contents_1 = require("./contents"); const title_1 = require("./title"); function optionsTypewriter(options) { options = Object.assign({ title: 'Options' }, options); const writeTitle = title_1.titleTypewriter(options); const writeBody = contents_1.contentsTypewriter(options); return (command) => { if (!command || command.options.length <= 0) { return ''; } const data = command.options.filter((o) => { return !!o.name && !!o.description; }).map((o) => { return [ [ o.name ? `--${o.name}` : null, o.alias ? `-${o.alias}` : null, ].filter((v) => !!v).join(', '), o.description, ]; }); const titleOutput = writeTitle(options.title); const bodyOutput = writeBody(data); return [titleOutput, bodyOutput].filter((o) => !!o).join(core_1.EOL); }; } exports.optionsTypewriter = optionsTypewriter; //# sourceMappingURL=options.js.map