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