UNPKG

982 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const deps_1 = require("./deps");
4const ts_lodash_1 = require("ts-lodash");
5function flagUsage(flag, options = {}) {
6 const label = [];
7 if (flag.char)
8 label.push(`-${flag.char}`);
9 if (flag.name)
10 label.push(` --${flag.name}`);
11 const usage = flag.type === 'option' ? ` ${flag.name.toUpperCase()}` : '';
12 let description = flag.description || '';
13 if (options.displayRequired && flag.required)
14 description = `(required) ${description}`;
15 description = description ? deps_1.deps.chalk.dim(description) : undefined;
16 return [' ' + label.join(',').trim() + usage, description];
17}
18exports.flagUsage = flagUsage;
19function flagUsages(flags, options = {}) {
20 if (!flags.length)
21 return [];
22 flags = ts_lodash_1.default.sortBy(flags, f => [!f.char, f.char, f.name]);
23 return flags.map(f => flagUsage(f, options));
24}
25exports.flagUsages = flagUsages;