basecamp-guide
Version:
Task automator for the Basecamp Framework.
57 lines (46 loc) • 1.49 kB
JavaScript
var ConsoleInputParser = {
parse : function(input) {
var commandName = this.getCommandName(input);
var commandOptions = this.getCommandOptions(input);
var command = {
name : commandName,
options : commandOptions
}
return command;
},
getCommandName : function(input) {
var name = input[2];
if (this.isNotCommand(name)) {
console.log('Bitte gebe einen gültigen Befehl ein.');
process.exit(1);
}
return name;
},
getCommandOptions : function(input) {
var options = input.slice(3);
var optionsParsed = [];
var that = this;
options.forEach(function(option) {
if (that.isNotOption(option)) {
console.log('"' + option + '" ist keine gültige Option.');
process.exit(1);
}
optionsParsed.push(that.parseOption(option));
});
return optionsParsed;
},
parseOption : function(option) {
option = option.split('=');
return {
name: option[0].slice(2),
value: (option.length == 2) ? option[1] : null
}
},
isNotCommand : function(name) {
return (name.charAt(0) == '-') ;
},
isNotOption : function(option) {
return (option.slice(0,2) != '--');
}
}
module.exports = ConsoleInputParser;