UNPKG

1.05 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const deps_1 = require("./deps");
4const m = deps_1.default()
5 .add('chalk', () => require('chalk'))
6 .add('util', () => require('./util'));
7function 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}
20exports.flagUsage = flagUsage;
21function 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}
28exports.flagUsages = flagUsages;