UNPKG

@eightshone/sshman

Version:
63 lines 2.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 stringPadding from "../../../utils/stringPadding.js"; import checkbox from "@inquirer/checkbox"; import input from "@inquirer/input"; import confirm from "@inquirer/confirm"; import { existsSync } from "fs"; import saveFile from "../../../utils/saveFile.js"; function exportConnections(servers) { return __awaiter(this, void 0, void 0, function* () { console.log("📤 Export configurations"); let selectedConfigs = yield checkbox({ message: "To exit this menu, do not select any configration", choices: [ ...servers.map((server, index) => ({ name: `${stringPadding(server.name)} ${server.username}:[redacted]@${server.host}:${server.port}`, value: JSON.stringify(server), })), ], }); if (selectedConfigs.length) { let fileName; while (!(fileName === null || fileName === void 0 ? void 0 : fileName.length)) { const proposedName = yield filename(); if (!proposedName.length) continue; const fileExists = existsSync(proposedName); if (!fileExists || (fileExists && (yield overWriteFile(proposedName)))) { yield saveFile(proposedName, selectedConfigs); fileName = proposedName; } } } console.clear(); return ["ssh-list"]; }); } export default exportConnections; function filename() { return __awaiter(this, void 0, void 0, function* () { const name = yield input({ message: "Pick a name for your exported file", }); return name; }); } function overWriteFile(name) { return __awaiter(this, void 0, void 0, function* () { const overWrite = yield confirm({ message: `The file "${name}" exists. Would you like to overwrite it?`, default: false, }); return overWrite; }); } //# sourceMappingURL=export.js.map