@rr0/cms
Version:
RR0 Content Management System (CMS)
33 lines (32 loc) • 892 B
JavaScript
export class CLI {
/**
* Set up a CLI args parser.
*
* @param argv The args array.
* @param prefix The prefix to detect args ("-" by default)
*/
constructor(argv = process.argv, prefix = "-") {
this.argv = argv;
this.prefix = prefix;
}
/**
* @return {Record} A record of args values for each "-arg" key.
*/
getArgs() {
const argv = this.argv;
const args = {};
for (let i = 2; i < argv.length; i++) {
const arg = argv[i];
const dash = arg.lastIndexOf(this.prefix);
if (dash >= 0) {
let value = argv[i + 1];
if (value.indexOf(",") > 0) {
value = value.split(",");
}
args[arg.substring(dash + 1)] = value;
i++;
}
}
return args;
}
}