UNPKG

1.55 kBJavaScriptView Raw
1"use strict";
2/* eslint no-console: "off" */
3var __importDefault = (this && this.__importDefault) || function (mod) {
4 return (mod && mod.__esModule) ? mod : { "default": mod };
5};
6Object.defineProperty(exports, "__esModule", { value: true });
7exports.displayMissingOptionsMessage = exports.findMissingOptions = void 0;
8const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
9/**
10 * Find missing required parameters from cli commander command
11 *
12 * @param {Object} command - commander command
13 * @param {Array<string>} requiredOptions - option names
14 * @returns {Array<string>} - required options not present in command
15 */
16function findMissingOptions(command, requiredOptions) {
17 return requiredOptions.filter((param) => !command[param]);
18}
19exports.findMissingOptions = findMissingOptions;
20/**
21 * Convert option name to kebab case for display
22 *
23 * @param {string} optionName - name of option
24 * @returns {string} - display name
25 */
26function convertCamelOptionToLongOption(optionName) {
27 return `--${kebabCase_1.default(optionName)}`;
28}
29/**
30 * Convert missing required fields for display and display on console
31 *
32 * @param {Array<string>} missingOptions - missing option names
33 * @returns {undefined} - none
34 */
35function displayMissingOptionsMessage(missingOptions) {
36 const fullMissingOptions = missingOptions.map(convertCamelOptionToLongOption);
37 console.error(`Missing options: ${fullMissingOptions.join(', ')}`);
38}
39exports.displayMissingOptionsMessage = displayMissingOptionsMessage;
40//# sourceMappingURL=cli-utils.js.map
\No newline at end of file