UNPKG

@eightshone/sshman

Version:
73 lines 3.74 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 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) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import goodbye from "../../utils/goodbye.js"; import deleteConnection from "./connections/delete.js"; import displayConnection from "./connections/display.js"; import editConnection from "./connections/edit.js"; import listConnections from "./connections/list.js"; import mainMenu from "./mainMenu.js"; import newConnection from "./connections/new.js"; import searchConnections from "./connections/search.js"; import sshConnect from "../functions/sshConnect.js"; import manual from "./manual.js"; import settings from "./settings/settings.js"; import editDefault from "./settings/editDefault.js"; import displayLogs from "./logs.js"; import exportConnections from "./connections/export.js"; function interactive(initialConfig, initialLogs, program) { return __awaiter(this, void 0, void 0, function* () { let currentMenu = "main", options = null, config = Object.assign({}, initialConfig), logs = [...initialLogs]; while (currentMenu !== "exit") { if (currentMenu === "main") { [currentMenu, options] = yield mainMenu(config.recentServers); } if (currentMenu === "ssh-new") { [currentMenu, config, logs] = yield newConnection(config, logs); } if (currentMenu === "ssh-list") { [currentMenu, options] = yield listConnections(config.servers); } if (currentMenu === "ssh-search") { [currentMenu, options] = yield searchConnections(config.servers); } if (currentMenu === "ssh-display") { [currentMenu, options] = yield displayConnection(JSON.parse(options[0]), parseInt(options[1]), options.length === 3 && options[2] === "true"); } if (currentMenu === "ssh-connect") { [currentMenu, config, logs] = yield sshConnect(config, logs, JSON.parse(options[0])); console.clear(); } if (currentMenu === "ssh-edit") { [currentMenu, options, config] = yield editConnection(config, parseInt(options[1]), logs); } if (currentMenu === "ssh-delete") { [currentMenu, options] = yield deleteConnection(config, JSON.parse(options[0]), parseInt(options[1])); } if (currentMenu === "ssh-export") { [currentMenu, options] = yield exportConnections(config.servers); } if (currentMenu === "manual") { [currentMenu] = yield manual(program); } if (currentMenu === "settings") { [currentMenu, options] = yield settings(config); } if (currentMenu === "settings-defaults-edit") { [currentMenu, config] = yield editDefault(JSON.parse(options[0]), config); } if (currentMenu === "logs") { [currentMenu] = yield displayLogs(logs); } } goodbye(); }); } export default interactive; //# sourceMappingURL=interactive.js.map