UNPKG

@eightshone/sshman

Version:
74 lines â€ĸ 3.18 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 select, { Separator } from "@inquirer/select"; import colors from "yoctocolors-cjs"; import { inquirerTheme } from "../../../utils/themes.js"; import stringPadding from "../../../utils/stringPadding.js"; function listConnections(servers) { return __awaiter(this, void 0, void 0, function* () { let options = null; const saved = servers.length ? [ { name: colors.dim(` # ${stringPadding("Name")} Config`), disabled: " ", value: null, }, ...servers.map((server, index) => ({ name: `${stringPadding(`${index + 1}`, 3, "start", "0")} ${stringPadding(server.name)} ${server.username}:[redacted]@${server.host}:${server.port}`, value: `ssh-display#-_-#${JSON.stringify(server)}#-_-#${index}`, description: "Connect to server", })), ] : [ { name: " 📭 No saved servers! Add a new server or connect to one and it will appear here", value: "recent-sessions", disabled: " ", }, ]; console.log("đŸ—ƒī¸ Saved servers"); console.log(' Use "Search" option to enter search mode'); let answer = yield select({ message: "Saved servers", choices: [ { name: "🔍 Search", value: "ssh-search", description: "Enter search mode", }, { name: "📤 Export configurations", value: "ssh-export", description: "Export server configurations", }, { name: "â†Šī¸ Main menu", value: "main", description: "Return to main menu", }, new Separator(" "), ...saved, ], theme: inquirerTheme, pageSize: 13, default: servers.length ? saved[1].value : "main", }); if (answer !== "exit") { console.clear(); } if (answer.startsWith("ssh-display")) { [answer, ...options] = answer.split("#-_-#"); } return [answer, options]; }); } export default listConnections; //# sourceMappingURL=list.js.map