Added server-manager & did some small updates to botnet-manger
This commit is contained in:
@ -8,7 +8,8 @@ export class ArgParser {
|
||||
* @param argList {(ArgParser || {name: string, desc: string, flags: string[], optional: boolean, default: boolean})[]} - Array of CLI arguments
|
||||
* @param examples {string[]} - Additional examples to display
|
||||
*/
|
||||
constructor(name, desc, argList = [], examples = []) {
|
||||
constructor(ns, name, desc, argList = [], examples = []) {
|
||||
this.ns = ns;
|
||||
this.name = name;
|
||||
this.desc = desc;
|
||||
|
||||
@ -27,13 +28,12 @@ export class ArgParser {
|
||||
`--help ${this.commands.length ? '[COMMAND]' : ''}`
|
||||
].filter(e => !!e);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse an array into an arguments dictionary using the configuration.
|
||||
* @param args {string[]} - Array of arguments to be parsed
|
||||
* @returns {object} - Dictionary of arguments with defaults applied
|
||||
*/
|
||||
parse(args) {
|
||||
parse(args = this.ns.args) {
|
||||
// Parse arguments
|
||||
let extras = [], parsed = {...this.defaults}, queue = [...args];
|
||||
while(queue.length) {
|
||||
@ -51,7 +51,7 @@ export class ArgParser {
|
||||
extras.push(arg);
|
||||
continue;
|
||||
}
|
||||
const value = argDef.default === false ? true : argDef.default === true ? false : argDef.default || queue.splice(queue.findIndex(q => q[0] != '-'), 1)[0];
|
||||
const value = argDef.default === false ? true : argDef.default === true ? false : queue.splice(queue.findIndex(q => q[0] != '-'), 1)[0] || argDef.default;
|
||||
if(value == null) parsed['_error'] = `Option missing value: ${arg.name}`;
|
||||
parsed[argDef.name] = value;
|
||||
} else { // Command
|
||||
@ -114,6 +114,6 @@ export class ArgParser {
|
||||
if(this.commands.length) msg += '\n\nCommands:\n\t' + this.commands
|
||||
.map(command => `${command.name}${spacer(command.name)}${command.desc}`)
|
||||
.join('\n\t');
|
||||
return `${msg}\n\n`;
|
||||
this.ns.tprint(`${msg}\n\n`);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user