request-arguments
Version:
Request params by arguments or prompt
46 lines (45 loc) • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const argv = require('minimist')(process.argv.slice(2));
const typed_prompts_1 = require("typed-prompts");
function requestArguments(params) {
if (argv['h']) {
console.log('***********************************************************');
console.log('***** Request Arguments HELP ******************************');
console.log('***********************************************************');
console.log();
params.forEach((element) => {
console.log('-' + element.short + ' :' + element.name + ''.padEnd(40 - (element.short.length + element.name.length)) + element.description);
});
console.log();
console.log('***********************************************************');
process.exit(0);
}
return new Promise((resolve, reject) => {
let newParams = {};
let missing = [];
params.forEach((element) => {
if (argv[element.short]) {
newParams[element.short] = argv[element.short];
}
else {
if (element.mandatory != false) {
missing.push(typed_prompts_1.input(element.short, element.description));
}
}
});
if (missing.length === 0) {
resolve(newParams);
}
else {
console.log('Missing manadtory arguments!');
}
typed_prompts_1.prompt(missing).then((answer) => {
for (let key in answer) {
newParams[key] = answer[key];
}
resolve(newParams);
});
});
}
exports.requestArguments = requestArguments;