diff --git a/dist/smartssh.classes.sshinstance.js b/dist/smartssh.classes.sshinstance.js index 04e0246..a0fb689 100644 --- a/dist/smartssh.classes.sshinstance.js +++ b/dist/smartssh.classes.sshinstance.js @@ -28,10 +28,8 @@ var SshInstance = (function () { ; SshInstance.prototype.replaceKey = function (sshKeyOldArg, sshKeyNewArg) { this.sync("from"); - var filteredArray = this.sshKeyArray.filter(function (sshKeyArg) { - return (sshKeyArg.host == "some"); //TODO - }); - this.sshKeyArray = filteredArray; + this.removeKey(sshKeyOldArg); + this.addKey(sshKeyNewArg); this.sync("to"); }; ; @@ -51,6 +49,7 @@ var SshInstance = (function () { ; Object.defineProperty(SshInstance.prototype, "sshKeys", { get: function () { + this.sync("from"); return this.sshKeyArray; }, enumerable: true, @@ -72,4 +71,4 @@ var SshInstance = (function () { }()); exports.SshInstance = SshInstance; -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQ1AsQ0FBQyxDQURzQjtBQUl2Qix3Q0FBcUIsMkJBQTJCLENBQUMsQ0FBQTtBQUlqRDtJQUtJLHFCQUFZLFVBQW1EO1FBQW5ELDBCQUFtRCxHQUFuRCxlQUFtRDtRQUMzRCxVQUFVLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdDQUFNLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7O0lBRUQsa0JBQWtCO0lBQ2xCLDRCQUFNLEdBQU4sVUFBTyxTQUFnQjtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7SUFDRCwrQkFBUyxHQUFULFVBQVUsU0FBZ0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFDLFVBQWlCO1lBQzFELE1BQU0sQ0FBQyxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7SUFDRCxnQ0FBVSxHQUFWLFVBQVcsWUFBbUIsRUFBQyxZQUFtQjtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQUMsU0FBZ0I7WUFDekQsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7O0lBRUQsRUFBRTtJQUNGLDRCQUFNLEdBQU4sVUFBTyxPQUFjO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBUyxNQUFNO1lBQ3ZELE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBLENBQUM7WUFDekIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDOztJQUNELHNCQUFJLGdDQUFPO2FBQVg7WUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM1QixDQUFDOzs7T0FBQTtJQUNELDBCQUFJLEdBQUosVUFBSyxZQUFtQjtRQUNwQixFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLFlBQVksSUFBSSxNQUFNLENBQUMsQ0FBQSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxvQ0FBb0M7UUFDbkUsQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDNUIsQ0FBQztRQUFDLElBQUksQ0FBQyxFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFDM0UsQ0FBQztJQUNMLENBQUM7O0lBQ0wsa0JBQUM7QUFBRCxDQTVEQSxBQTREQyxJQUFBO0FBNURZLG1CQUFXLGNBNER2QixDQUFBIiwiZmlsZSI6InNtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJ0eXBpbmdzLWdsb2JhbFwiXHJcbmltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vc21hcnRzc2gucGx1Z2luc1wiO1xyXG5pbXBvcnQgKiBhcyBoZWxwZXJzIGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuaGVscGVyc1wiO1xyXG5cclxuaW1wb3J0IHtTc2hEaXJ9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3NoZGlyXCI7XHJcbmltcG9ydCB7U3NoQ29uZmlnfSBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLnNzaGNvbmZpZ1wiO1xyXG5pbXBvcnQge1NzaEtleX0gZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5zc2hrZXlcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBTc2hJbnN0YW5jZSB7XHJcbiAgICBwcml2YXRlIHNzaENvbmZpZzpTc2hDb25maWc7IC8vIHNzaENvbmZpZyAoZS5nLiByZXByZXNlbnRzIH4vLnNzaC9jb25maWcpXHJcbiAgICBwcml2YXRlIHNzaERpcjpTc2hEaXI7IC8vIHBvaW50cyB0byBzc2hEaXIgY2xhc3MgaW5zdGFuY2UuXHJcbiAgICBwcml2YXRlIHNzaEtleUFycmF5OlNzaEtleVtdOyAvL2hvbGRzIGFsbCBzc2gga2V5c1xyXG4gICAgcHJpdmF0ZSBzc2hTeW5jOmJvb2xlYW47IC8vIGlmIHNldCB0byB0cnVlLCB0aGUgc3NoIGRpciB3aWxsIGJlIGtlcHQgaW4gc3luYyBhdXRvbWF0aWNhbGx5XHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zQXJnOntzc2hEaXJQYXRoPzpzdHJpbmcsc3NoU3luYz86Ym9vbGVhbn09e30pe1xyXG4gICAgICAgIG9wdGlvbnNBcmcgPyB2b2lkKDApIDogb3B0aW9uc0FyZyA9IHt9O1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRoaXMuc3NoRGlyID0gbmV3IFNzaERpcih0aGlzLG9wdGlvbnNBcmcuc3NoRGlyUGF0aCk7XHJcbiAgICAgICAgdGhpcy5zc2hLZXlBcnJheSA9IHRoaXMuc3NoRGlyLmdldEtleXMoKTtcclxuICAgICAgICB0aGlzLnNzaFN5bmMgPSBvcHRpb25zQXJnLnNzaFN5bmM7XHJcbiAgICB9O1xyXG4gICAgXHJcbiAgICAvL2FsdGVyaW5nIG1ldGhvZHNcclxuICAgIGFkZEtleShzc2hLZXlBcmc6U3NoS2V5KXtcclxuICAgICAgICB0aGlzLnN5bmMoXCJmcm9tXCIpO1xyXG4gICAgICAgIHRoaXMuc3NoS2V5QXJyYXkucHVzaChzc2hLZXlBcmcpO1xyXG4gICAgICAgIHRoaXMuc3luYyhcInRvXCIpO1xyXG4gICAgfTtcclxuICAgIHJlbW92ZUtleShzc2hLZXlBcmc6U3NoS2V5KXtcclxuICAgICAgICB0aGlzLnN5bmMoXCJmcm9tXCIpO1xyXG4gICAgICAgIGxldCBmaWx0ZXJlZEFycmF5ID0gdGhpcy5zc2hLZXlBcnJheS5maWx0ZXIoKHNzaEtleUFyZzI6U3NoS2V5KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoc3NoS2V5QXJnICE9IHNzaEtleUFyZzIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc3NoS2V5QXJyYXkgPSBmaWx0ZXJlZEFycmF5O1xyXG4gICAgICAgIHRoaXMuc3luYyhcInRvXCIpO1xyXG4gICAgfTtcclxuICAgIHJlcGxhY2VLZXkoc3NoS2V5T2xkQXJnOlNzaEtleSxzc2hLZXlOZXdBcmc6U3NoS2V5KXtcclxuICAgICAgICB0aGlzLnN5bmMoXCJmcm9tXCIpO1xyXG4gICAgICAgIGxldCBmaWx0ZXJlZEFycmF5ID0gdGhpcy5zc2hLZXlBcnJheS5maWx0ZXIoKHNzaEtleUFyZzpTc2hLZXkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIChzc2hLZXlBcmcuaG9zdCA9PSBcInNvbWVcIik7IC8vVE9ET1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuc3NoS2V5QXJyYXkgPSBmaWx0ZXJlZEFycmF5O1xyXG4gICAgICAgIHRoaXMuc3luYyhcInRvXCIpO1xyXG4gICAgfTtcclxuICAgIFxyXG4gICAgLy9cclxuICAgIGdldEtleShob3N0QXJnOnN0cmluZyk6U3NoS2V5e1xyXG4gICAgICAgIHRoaXMuc3luYyhcImZyb21cIik7XHJcbiAgICAgICAgbGV0IGZpbHRlcmVkQXJyYXkgPSB0aGlzLnNzaEtleUFycmF5LmZpbHRlcihmdW5jdGlvbihrZXlBcmcpe1xyXG4gICAgICAgICAgICByZXR1cm4gKGtleUFyZy5ob3N0ID09IGhvc3RBcmcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmKGZpbHRlcmVkQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZEFycmF5WzBdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGdldCBzc2hLZXlzKCk6U3NoS2V5W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNzaEtleUFycmF5O1xyXG4gICAgfVxyXG4gICAgc3luYyhkaXJlY3Rpb25Bcmc6c3RyaW5nKXtcclxuICAgICAgICBpZih0aGlzLnNzaFN5bmMgJiYgZGlyZWN0aW9uQXJnID09IFwiZnJvbVwiKXtcclxuICAgICAgICAgICAgdGhpcy5zc2hEaXIuc3luY0Zyb21EaXIoKTsgLy8gY2FsbCBzeW5jIG1ldGhvZCBvZiBzc2hEaXIgY2xhc3M7XHJcbiAgICAgICAgfSBlbHNlIGlmKHRoaXMuc3NoU3luYyAmJiBkaXJlY3Rpb25BcmcgPT0gXCJ0b1wiKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3NoRGlyLnN5bmNUb0RpcigpO1xyXG4gICAgICAgIH0gZWxzZSBpZih0aGlzLnNzaFN5bmMpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZGlyZWN0aW9uQXJnIG5vdCByZWNvZ25pc2VkLiBNdXN0IGJlICd0bycgb3IgJ2Zyb20nXCIpO1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcblxyXG4iXX0= +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQ1AsQ0FBQyxDQURzQjtBQUl2Qix3Q0FBcUIsMkJBQTJCLENBQUMsQ0FBQTtBQUlqRDtJQUtJLHFCQUFZLFVBQW1EO1FBQW5ELDBCQUFtRCxHQUFuRCxlQUFtRDtRQUMzRCxVQUFVLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGdDQUFNLENBQUMsSUFBSSxFQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO0lBQ3RDLENBQUM7O0lBRUQsa0JBQWtCO0lBQ2xCLDRCQUFNLEdBQU4sVUFBTyxTQUFnQjtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7SUFDRCwrQkFBUyxHQUFULFVBQVUsU0FBZ0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFDLFVBQWlCO1lBQzFELE1BQU0sQ0FBQyxDQUFDLFNBQVMsSUFBSSxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQzs7SUFDRCxnQ0FBVSxHQUFWLFVBQVcsWUFBbUIsRUFBQyxZQUFtQjtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BCLENBQUM7O0lBRUQsRUFBRTtJQUNGLDRCQUFNLEdBQU4sVUFBTyxPQUFjO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBUyxNQUFNO1lBQ3ZELE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDSCxFQUFFLENBQUEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBLENBQUM7WUFDekIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDOztJQUNELHNCQUFJLGdDQUFPO2FBQVg7WUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzVCLENBQUM7OztPQUFBO0lBQ0QsMEJBQUksR0FBSixVQUFLLFlBQW1CO1FBQ3BCLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksWUFBWSxJQUFJLE1BQU0sQ0FBQyxDQUFBLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLG9DQUFvQztRQUNuRSxDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0wsQ0FBQzs7SUFDTCxrQkFBQztBQUFELENBM0RBLEFBMkRDLElBQUE7QUEzRFksbUJBQVcsY0EyRHZCLENBQUEiLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5zc2hpbnN0YW5jZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCJcclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi9zbWFydHNzaC5wbHVnaW5zXCI7XHJcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5oZWxwZXJzXCI7XHJcblxyXG5pbXBvcnQge1NzaERpcn0gZnJvbSBcIi4vc21hcnRzc2guY2xhc3Nlcy5zc2hkaXJcIjtcclxuaW1wb3J0IHtTc2hDb25maWd9IGZyb20gXCIuL3NtYXJ0c3NoLmNsYXNzZXMuc3NoY29uZmlnXCI7XHJcbmltcG9ydCB7U3NoS2V5fSBmcm9tIFwiLi9zbWFydHNzaC5jbGFzc2VzLnNzaGtleVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNzaEluc3RhbmNlIHtcclxuICAgIHByaXZhdGUgc3NoQ29uZmlnOlNzaENvbmZpZzsgLy8gc3NoQ29uZmlnIChlLmcuIHJlcHJlc2VudHMgfi8uc3NoL2NvbmZpZylcclxuICAgIHByaXZhdGUgc3NoRGlyOlNzaERpcjsgLy8gcG9pbnRzIHRvIHNzaERpciBjbGFzcyBpbnN0YW5jZS5cclxuICAgIHByaXZhdGUgc3NoS2V5QXJyYXk6U3NoS2V5W107IC8vaG9sZHMgYWxsIHNzaCBrZXlzXHJcbiAgICBwcml2YXRlIHNzaFN5bmM6Ym9vbGVhbjsgLy8gaWYgc2V0IHRvIHRydWUsIHRoZSBzc2ggZGlyIHdpbGwgYmUga2VwdCBpbiBzeW5jIGF1dG9tYXRpY2FsbHlcclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnNBcmc6e3NzaERpclBhdGg/OnN0cmluZyxzc2hTeW5jPzpib29sZWFufT17fSl7XHJcbiAgICAgICAgb3B0aW9uc0FyZyA/IHZvaWQoMCkgOiBvcHRpb25zQXJnID0ge307XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5zc2hEaXIgPSBuZXcgU3NoRGlyKHRoaXMsb3B0aW9uc0FyZy5zc2hEaXJQYXRoKTtcclxuICAgICAgICB0aGlzLnNzaEtleUFycmF5ID0gdGhpcy5zc2hEaXIuZ2V0S2V5cygpO1xyXG4gICAgICAgIHRoaXMuc3NoU3luYyA9IG9wdGlvbnNBcmcuc3NoU3luYztcclxuICAgIH07XHJcbiAgICBcclxuICAgIC8vYWx0ZXJpbmcgbWV0aG9kc1xyXG4gICAgYWRkS2V5KHNzaEtleUFyZzpTc2hLZXkpe1xyXG4gICAgICAgIHRoaXMuc3luYyhcImZyb21cIik7XHJcbiAgICAgICAgdGhpcy5zc2hLZXlBcnJheS5wdXNoKHNzaEtleUFyZyk7XHJcbiAgICAgICAgdGhpcy5zeW5jKFwidG9cIik7XHJcbiAgICB9O1xyXG4gICAgcmVtb3ZlS2V5KHNzaEtleUFyZzpTc2hLZXkpe1xyXG4gICAgICAgIHRoaXMuc3luYyhcImZyb21cIik7XHJcbiAgICAgICAgbGV0IGZpbHRlcmVkQXJyYXkgPSB0aGlzLnNzaEtleUFycmF5LmZpbHRlcigoc3NoS2V5QXJnMjpTc2hLZXkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIChzc2hLZXlBcmcgIT0gc3NoS2V5QXJnMik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zc2hLZXlBcnJheSA9IGZpbHRlcmVkQXJyYXk7XHJcbiAgICAgICAgdGhpcy5zeW5jKFwidG9cIik7XHJcbiAgICB9O1xyXG4gICAgcmVwbGFjZUtleShzc2hLZXlPbGRBcmc6U3NoS2V5LHNzaEtleU5ld0FyZzpTc2hLZXkpe1xyXG4gICAgICAgIHRoaXMuc3luYyhcImZyb21cIik7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVLZXkoc3NoS2V5T2xkQXJnKTtcclxuICAgICAgICB0aGlzLmFkZEtleShzc2hLZXlOZXdBcmcpO1xyXG4gICAgICAgIHRoaXMuc3luYyhcInRvXCIpO1xyXG4gICAgfTtcclxuICAgIFxyXG4gICAgLy9cclxuICAgIGdldEtleShob3N0QXJnOnN0cmluZyk6U3NoS2V5e1xyXG4gICAgICAgIHRoaXMuc3luYyhcImZyb21cIik7XHJcbiAgICAgICAgbGV0IGZpbHRlcmVkQXJyYXkgPSB0aGlzLnNzaEtleUFycmF5LmZpbHRlcihmdW5jdGlvbihrZXlBcmcpe1xyXG4gICAgICAgICAgICByZXR1cm4gKGtleUFyZy5ob3N0ID09IGhvc3RBcmcpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmKGZpbHRlcmVkQXJyYXkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWx0ZXJlZEFycmF5WzBdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIGdldCBzc2hLZXlzKCk6U3NoS2V5W10ge1xyXG4gICAgICAgIHRoaXMuc3luYyhcImZyb21cIik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc3NoS2V5QXJyYXk7XHJcbiAgICB9XHJcbiAgICBzeW5jKGRpcmVjdGlvbkFyZzpzdHJpbmcpe1xyXG4gICAgICAgIGlmKHRoaXMuc3NoU3luYyAmJiBkaXJlY3Rpb25BcmcgPT0gXCJmcm9tXCIpe1xyXG4gICAgICAgICAgICB0aGlzLnNzaERpci5zeW5jRnJvbURpcigpOyAvLyBjYWxsIHN5bmMgbWV0aG9kIG9mIHNzaERpciBjbGFzcztcclxuICAgICAgICB9IGVsc2UgaWYodGhpcy5zc2hTeW5jICYmIGRpcmVjdGlvbkFyZyA9PSBcInRvXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5zc2hEaXIuc3luY1RvRGlyKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmKHRoaXMuc3NoU3luYykge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJkaXJlY3Rpb25Bcmcgbm90IHJlY29nbmlzZWQuIE11c3QgYmUgJ3RvJyBvciAnZnJvbSdcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufVxyXG5cclxuXHJcbiJdfQ== diff --git a/test/test.ts b/test/test.ts index 1de9f99..fe737e4 100644 --- a/test/test.ts +++ b/test/test.ts @@ -4,7 +4,12 @@ import smartssh = require("../dist/index"); describe("smartssh",function(){ let testSshInstance:smartssh.SshInstance; let testSshKey:smartssh.SshKey; - describe("SshInstance",function(){ + describe(".SshKey",function(){ + it("should represent a valid SshKey",function(){ + + }); + }); + describe(".SshInstance",function(){ it("'new' keyword should create a new SshInstance object from class",function(){ testSshInstance = new smartssh.SshInstance(); testSshInstance.should.be.instanceof(smartssh.SshInstance); @@ -40,5 +45,5 @@ describe("smartssh",function(){ testSshInstance.removeKey(testSshInstance.getKey("bitbucket.org")); testSshInstance.sshKeys[1].host.should.equal("github.com"); }) - }) + }); }) \ No newline at end of file diff --git a/ts/smartssh.classes.sshinstance.ts b/ts/smartssh.classes.sshinstance.ts index 1cf300b..176f0d2 100644 --- a/ts/smartssh.classes.sshinstance.ts +++ b/ts/smartssh.classes.sshinstance.ts @@ -35,10 +35,8 @@ export class SshInstance { }; replaceKey(sshKeyOldArg:SshKey,sshKeyNewArg:SshKey){ this.sync("from"); - let filteredArray = this.sshKeyArray.filter((sshKeyArg:SshKey) => { - return (sshKeyArg.host == "some"); //TODO - }); - this.sshKeyArray = filteredArray; + this.removeKey(sshKeyOldArg); + this.addKey(sshKeyNewArg); this.sync("to"); }; @@ -55,6 +53,7 @@ export class SshInstance { } }; get sshKeys():SshKey[] { + this.sync("from"); return this.sshKeyArray; } sync(directionArg:string){