UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

33 lines (32 loc) 892 B
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; } }