UNPKG

basecamp-guide

Version:
57 lines (46 loc) 1.49 kB
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;