UNPKG

851 BJavaScriptView Raw
1'use strict';
2
3module.exports = flags => {
4 const lines = Object.entries(flags).map(entry => {
5 const name = entry[0];
6 const value = entry[1];
7 return [[name, value.alias].filter(Boolean), value.description, value.default].filter(Boolean);
8 });
9
10 const longest = lines.map(line => {
11 const flags = line[0];
12 return flags.reduce((sum, flag) => sum + flag.length, 0);
13 }).sort((a, b) => b - a)[0];
14
15 return lines.map(line => {
16 const flags = line[0];
17 const desc = line[1];
18 const defaults = line[2];
19 const fs = flags.map(flag => flag.length > 1 ? `--${flag}` : ` -${flag}`);
20 const ds = defaults ? `, defaults to: ${defaults}` : '';
21 const length = flags.reduce((sum, flag) => sum + flag.length, 0);
22 return `${fs.join(',')}${' '.repeat(Math.max(4 + longest - length, 0))}${desc}${ds}`;
23 }).join('\n');
24};
25//# sourceMappingURL=help.js.map
\No newline at end of file