UNPKG

@agatee/cli

Version:

CLI for Agatee App

45 lines (44 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ArgParser = void 0; var process_1 = require("process"); var ArgParser = /** @class */ (function () { function ArgParser() { } ArgParser.prototype.parseArgs = function () { var args = process_1.argv.slice(2); var result = { cmd: '', params: [], additionalParams: {} }; result.cmd = args.shift() || ''; if (args.length > 0) { while (args[0] && args[0][0] != '-') { var currentArg = args.shift(); result.params.push(currentArg); } while (args.length > 0) { var param = this.getAdditionalParams(args); result.additionalParams[param.option] = param; } } return result; }; ArgParser.prototype.getAdditionalParams = function (args) { var currentArg = args.shift(); var params = { isShort: currentArg[1] != '-', option: '', values: [] }; params.option = currentArg.substring(2 - Number(params.isShort)) || ''; while (args[0] && args[0][0] != '-') { var currentOption = args.shift(); params.values.push(currentOption); } return params; }; return ArgParser; }()); exports.ArgParser = ArgParser;