xrefcli
Version:
CLI command for the searching through OpenEdge XREF
102 lines • 3.69 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const argsparser_1 = require("./argsparser");
const config_1 = require("./config");
// commands
const about_1 = require("./commands/about");
const init_1 = require("./commands/init");
const list_1 = require("./commands/list");
const parse_1 = require("./commands/parse");
const remove_1 = require("./commands/remove");
const repos_1 = require("./commands/repos");
const search_1 = require("./commands/search");
const show_1 = require("./commands/show");
const switch_1 = require("./commands/switch");
const validate_1 = require("./commands/validate");
const help_1 = require("./help");
const export_1 = require("./commands/export");
const matrix_1 = require("./commands/matrix");
// const argsParser = new ArgsParser();
// const argv = argsParser.parse();
let config;
function main() {
return __awaiter(this, void 0, void 0, function* () {
const argsParser = new argsparser_1.ArgsParser();
const argv = argsParser.parse();
config = new config_1.Config();
yield config.initialize(argv);
executeCommand(argv);
});
}
main();
function executeCommand(args) {
let commandExecutor;
switch (args.command) {
case 'about':
commandExecutor = new about_1.AboutCommand(config);
break;
case 'export':
commandExecutor = new export_1.ExportCommand(config);
break;
case 'init':
commandExecutor = new init_1.InitCommand(config);
break;
case 'list':
commandExecutor = new list_1.ListCommand(config);
break;
case 'matrix':
commandExecutor = new matrix_1.MatrixCommand(config);
break;
case 'parse':
commandExecutor = new parse_1.ParseCommand(config);
break;
case 'remove':
commandExecutor = new remove_1.RemoveCommand(config);
break;
case 'repos':
commandExecutor = new repos_1.ReposCommand(config);
break;
case 'search':
commandExecutor = new search_1.SearchCommand(config);
break;
case 'show':
commandExecutor = new show_1.ShowCommand(config);
break;
case 'switch':
commandExecutor = new switch_1.SwitchCommand(config);
break;
case 'validate':
commandExecutor = new validate_1.ValidateCommand(config);
break;
default:
break;
}
if (commandExecutor !== undefined) {
if (!commandExecutor.validate(args)) {
process.exit(1);
}
execute(commandExecutor, args).then(() => {
config.saveConfig();
});
}
else {
const help = new help_1.Help();
help.main();
process.exit(1);
}
}
function execute(commandExec, args) {
return __awaiter(this, void 0, void 0, function* () {
yield commandExec.execute(args);
});
}
//# sourceMappingURL=index.js.map