This repository has been archived on 2022-03-12. You can view files and clone it, but cannot push or open issues or pull requests.
2021-04-02 02:24:13 +03:00

56 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = assertRequiredOptions;
function _commander() {
const data = require("commander");
_commander = function () {
return data;
};
return data;
}
function _lodash() {
const data = require("lodash");
_lodash = function () {
return data;
};
return data;
}
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
// Commander.js has a 2 years old open issue to support <...> syntax
// for options. Until that gets merged, we run the checks manually
// https://github.com/tj/commander.js/issues/230
function assertRequiredOptions(options, passedOptions) {
options.forEach(opt => {
const option = new (_commander().Option)(opt.name);
if (!option.required) {
return;
}
const name = (0, _lodash().camelCase)(option.long);
if (!passedOptions[name]) {
// Provide commander.js like error message
throw new Error(`Option "${option.long}" is missing`);
}
});
}
//# sourceMappingURL=assertRequiredOptions.js.map