UNPKG

1.59 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
8
9var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
10
11function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13exports.default = function (configuration) {
14 var lines = Object.entries(configuration.description).map(function (entry) {
15 var _entry = (0, _slicedToArray3.default)(entry, 2),
16 name = _entry[0],
17 desc = _entry[1];
18
19 var alias = Object.entries(configuration.alias).find(function (entry) {
20 return entry[1] === name;
21 }).map(function (entry) {
22 return entry[0];
23 })[0];
24 var defaults = configuration.default[name];
25 return [[name, alias].filter(Boolean), desc, defaults].filter(Boolean);
26 });
27
28 var longest = lines.map(function (line) {
29 var _line = (0, _slicedToArray3.default)(line, 1),
30 flags = _line[0];
31
32 return flags.reduce(function (sum, flag) {
33 return sum + flag.length;
34 }, 0);
35 }).sort(Number)[0];
36
37 return lines.map(function (line) {
38 var _line2 = (0, _slicedToArray3.default)(line, 3),
39 flags = _line2[0],
40 desc = _line2[1],
41 defaults = _line2[2];
42
43 var fs = flags.map(function (flag) {
44 return flag.length > 1 ? `--${flag}` : `-${flag}`;
45 });
46 var ds = defaults ? `, defaults to: ${defaults}` : '';
47 var length = flags.reduce(function (sum, flag) {
48 return sum + flag.length;
49 }, 0);
50 return `${fs.join(',')}${' '.repeat(4 + longest - length)}${desc}${ds}`;
51 }).join('\n');
52};
53
54module.exports = exports['default'];
\No newline at end of file