@agatee/cli
Version:
CLI for Agatee App
45 lines (44 loc) • 1.42 kB
JavaScript
;
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;