cloudux-starter-kit
Version:
Starter kit for UX developers in MediaCentral - NPM package
21 lines • 721 B
JavaScript
function InputException(message) {
this.message = message;
this.name = 'InputException';
}
module.exports = (requiredArguments, passedArgs) => {
let args = {};
for (let index = 0; index < passedArgs.length; index++) {
const re = new RegExp('--([A-Za-z0-9_]+)=([\\s\\S]*)'),
matches = re.exec(passedArgs[index]);
if (matches !== null) {
args[matches[1]] = matches[2];
}
}
for (let index = 0; index < requiredArguments.length; index++) {
if (args[requiredArguments[index]] === undefined) {
const message = `${requiredArguments[index]} not defined. Please add the argument with --${requiredArguments[index]}`;
throw new InputException(message);
}
}
return args;
};