1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const deps_1 = require("./deps");
|
4 | const ts_lodash_1 = require("ts-lodash");
|
5 | function 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 | }
|
18 | exports.flagUsage = flagUsage;
|
19 | function 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 | }
|
25 | exports.flagUsages = flagUsages;
|