@cumulus/common
Version:
Common utilities used across tasks
40 lines • 1.56 kB
JavaScript
;
/* eslint no-console: "off" */
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.displayMissingOptionsMessage = exports.findMissingOptions = void 0;
const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
/**
* Find missing required parameters from cli commander command
*
* @param {Object} command - commander command
* @param {Array<string>} requiredOptions - option names
* @returns {Array<string>} - required options not present in command
*/
function findMissingOptions(command, requiredOptions) {
return requiredOptions.filter((param) => !command[param]);
}
exports.findMissingOptions = findMissingOptions;
/**
* Convert option name to kebab case for display
*
* @param {string} optionName - name of option
* @returns {string} - display name
*/
function convertCamelOptionToLongOption(optionName) {
return `--${(0, kebabCase_1.default)(optionName)}`;
}
/**
* Convert missing required fields for display and display on console
*
* @param {Array<string>} missingOptions - missing option names
* @returns {undefined} - none
*/
function displayMissingOptionsMessage(missingOptions) {
const fullMissingOptions = missingOptions.map(convertCamelOptionToLongOption);
console.error(`Missing options: ${fullMissingOptions.join(', ')}`);
}
exports.displayMissingOptionsMessage = displayMissingOptionsMessage;
//# sourceMappingURL=cli-utils.js.map