update structure
This commit is contained in:
		
							
								
								
									
										5
									
								
								dist/smartssh.classes.sshdir.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								dist/smartssh.classes.sshdir.js
									
									
									
									
										vendored
									
									
								
							| @@ -13,7 +13,6 @@ class SshDir { | ||||
|         else { | ||||
|             this._path = plugins.path.join(plugins.smartpath.get.home(), '.ssh/'); | ||||
|         } | ||||
|         ; | ||||
|     } | ||||
|     writeToDir(dirPathArg) { | ||||
|         let path = this._path; | ||||
| @@ -24,7 +23,6 @@ class SshDir { | ||||
|         }); | ||||
|         this._sshConfig.store(path); | ||||
|     } | ||||
|     ; | ||||
|     readFromDir(dirPathArg) { | ||||
|         let path = this._path; | ||||
|         if (dirPathArg) | ||||
| @@ -33,10 +31,9 @@ class SshDir { | ||||
|     updateDirPath(dirPathArg) { | ||||
|         this._path = dirPathArg; | ||||
|     } | ||||
|     ; | ||||
|     getKeys() { | ||||
|         return helpers.sshKeyArrayFromDir(this._path); | ||||
|     } | ||||
| } | ||||
| exports.SshDir = SshDir; | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5zc2hkaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHNzaC5jbGFzc2VzLnNzaGRpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2Qiw4Q0FBNkM7QUFDN0Msc0RBQXFEO0FBSXJEO0lBSUksWUFBWSxXQUFxQixFQUFDLFNBQW9CLEVBQUMsYUFBc0I7UUFDekUsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUE7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDM0IsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQTtRQUM5QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3hFLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUNELFVBQVUsQ0FBQyxVQUFtQjtRQUMxQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3JCLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUFDLElBQUksR0FBRyxVQUFVLENBQUE7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTO1lBQ2hDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDekIsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBQUEsQ0FBQztJQUNGLFdBQVcsQ0FBQyxVQUFtQjtRQUMzQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3JCLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUFDLElBQUksR0FBRyxVQUFVLENBQUE7SUFDckMsQ0FBQztJQUNELGFBQWEsQ0FBQyxVQUFrQjtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQTtJQUMzQixDQUFDO0lBQUEsQ0FBQztJQUNGLE9BQU87UUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0NBQ0o7QUEvQkQsd0JBK0JDIn0= | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5zc2hkaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydHNzaC5jbGFzc2VzLnNzaGRpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2Qiw4Q0FBNkM7QUFDN0Msc0RBQXFEO0FBS3JEO0lBSUUsWUFBYSxXQUFxQixFQUFFLFNBQW9CLEVBQUUsYUFBc0I7UUFDOUUsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUE7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDM0IsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztZQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQTtRQUM1QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3ZFLENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFFLFVBQW1CO1FBQzdCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFDckIsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQTtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVM7WUFDbEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2QixDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUUsVUFBbUI7UUFDOUIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUNyQixFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFBQyxJQUFJLEdBQUcsVUFBVSxDQUFBO0lBQ25DLENBQUM7SUFDRCxhQUFhLENBQUUsVUFBa0I7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUE7SUFDekIsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0NBQ0Y7QUFsQ0Qsd0JBa0NDIn0= | ||||
							
								
								
									
										2
									
								
								dist/smartssh.classes.sshinstance.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/smartssh.classes.sshinstance.js
									
									
									
									
										vendored
									
									
								
							| @@ -96,4 +96,4 @@ class SshInstance { | ||||
|     ; | ||||
| } | ||||
| exports.SshInstance = SshInstance; | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5zc2hpbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFJdkIsdUVBQWdEO0FBQ2hELDZFQUFzRDtBQUd0RDtJQUtJLFlBQVksYUFBcUQsRUFBRTtRQUMvRCxVQUFVLEdBQUcsS0FBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUE7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUE7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHNDQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQ0FBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUMsSUFBSSxDQUFDLFVBQVUsRUFBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO0lBQ3RDLENBQUM7SUFBQSxDQUFDO0lBRUYsbUJBQW1CO0lBQ25CLE1BQU0sQ0FBQyxTQUFpQjtRQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUFBLENBQUM7SUFDRixTQUFTLENBQUMsU0FBaUI7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN0QixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWtCO1lBQzVELE1BQU0sQ0FBQyxDQUFDLFNBQVMsSUFBSSxVQUFVLENB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 | ||||
| //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzc2guY2xhc3Nlcy5zc2hpbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3NtYXJ0c3NoLmNsYXNzZXMuc3NoaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwQkFBdUI7QUFJdkIsdUVBQWtEO0FBQ2xELDZFQUF3RDtBQUd4RDtJQUtFLFlBQVksYUFBeUQsRUFBRTtRQUNyRSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUE7UUFDdkMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUE7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHNDQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxnQ0FBTSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDcEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO0lBQ3BDLENBQUM7SUFBQSxDQUFDO0lBRUYsbUJBQW1CO0lBQ25CLE1BQU0sQ0FBRSxTQUFpQjtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDdEIsQ0FBQztJQUFBLENBQUM7SUFDRixTQUFTLENBQUUsU0FBaUI7UUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN0QixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWtCO1lBQzlELE1BQU0sQ0FBQyxDQUFDLFNBQVMsSUFBSSxVQUFVLENB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 | ||||
| @@ -1,38 +1,42 @@ | ||||
| import 'typings-global' | ||||
| import * as plugins from './smartssh.plugins' | ||||
| import * as helpers from './smartssh.classes.helpers' | ||||
| import {SshInstance} from './smartssh.classes.sshinstance' | ||||
| import {SshKey} from './smartssh.classes.sshkey' | ||||
| import {SshConfig} from './smartssh.classes.sshconfig' | ||||
| import { SshInstance } from './smartssh.classes.sshinstance' | ||||
| import { SshKey } from './smartssh.classes.sshkey' | ||||
| import { SshConfig } from './smartssh.classes.sshconfig' | ||||
|  | ||||
| export class SshDir { // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE | ||||
|     private _path: string // the path of the ssh directory | ||||
|     private _sshKeyArray: SshKey[] | ||||
|     private _sshConfig: SshConfig | ||||
|     constructor(sshKeyArray: SshKey[],sshConfig: SshConfig,sshDirPathArg?: string) { | ||||
|         this._sshKeyArray = sshKeyArray | ||||
|         this._sshConfig = sshConfig | ||||
|         if (sshDirPathArg) { | ||||
|             this._path = sshDirPathArg | ||||
|         } else { | ||||
|             this._path = plugins.path.join(plugins.smartpath.get.home(),'.ssh/') | ||||
|         }; | ||||
|     } | ||||
|     writeToDir(dirPathArg?: string) { // syncs sshInstance to directory | ||||
|         let path = this._path | ||||
|         if (dirPathArg) path = dirPathArg | ||||
|         this._sshKeyArray.forEach((sshKeyArg) => { | ||||
|             sshKeyArg.store(path) | ||||
|         }) | ||||
|         this._sshConfig.store(path) | ||||
|     }; | ||||
|     readFromDir(dirPathArg?: string) { // syncs sshInstance from directory | ||||
|         let path = this._path | ||||
|         if (dirPathArg) path = dirPathArg | ||||
|     } | ||||
|     updateDirPath(dirPathArg: string) { | ||||
|         this._path = dirPathArg | ||||
|     }; | ||||
|     getKeys() { | ||||
|         return helpers.sshKeyArrayFromDir(this._path) | ||||
|   private _path: string // the path of the ssh directory | ||||
|   private _sshKeyArray: SshKey[] | ||||
|   private _sshConfig: SshConfig | ||||
|   constructor (sshKeyArray: SshKey[], sshConfig: SshConfig, sshDirPathArg?: string) { | ||||
|     this._sshKeyArray = sshKeyArray | ||||
|     this._sshConfig = sshConfig | ||||
|     if (sshDirPathArg) { | ||||
|       this._path = sshDirPathArg | ||||
|     } else { | ||||
|       this._path = plugins.path.join(plugins.smartpath.get.home(), '.ssh/') | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   writeToDir (dirPathArg?: string) { // syncs sshInstance to directory | ||||
|     let path = this._path | ||||
|     if (dirPathArg) path = dirPathArg | ||||
|     this._sshKeyArray.forEach((sshKeyArg) => { | ||||
|       sshKeyArg.store(path) | ||||
|     }) | ||||
|     this._sshConfig.store(path) | ||||
|   } | ||||
|  | ||||
|   readFromDir (dirPathArg?: string) { // syncs sshInstance from directory | ||||
|     let path = this._path | ||||
|     if (dirPathArg) path = dirPathArg | ||||
|   } | ||||
|   updateDirPath (dirPathArg: string) { | ||||
|     this._path = dirPathArg | ||||
|   } | ||||
|  | ||||
|   getKeys () { | ||||
|     return helpers.sshKeyArrayFromDir(this._path) | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -2,102 +2,102 @@ import 'typings-global' | ||||
| import * as plugins from './smartssh.plugins' | ||||
| import * as helpers from './smartssh.classes.helpers' | ||||
|  | ||||
| import {SshDir} from './smartssh.classes.sshdir' | ||||
| import {SshConfig} from './smartssh.classes.sshconfig' | ||||
| import {SshKey} from './smartssh.classes.sshkey' | ||||
| import { SshDir } from './smartssh.classes.sshdir' | ||||
| import { SshConfig } from './smartssh.classes.sshconfig' | ||||
| import { SshKey } from './smartssh.classes.sshkey' | ||||
|  | ||||
| export class SshInstance { | ||||
|     private _sshKeyArray: SshKey[] // holds all ssh keys | ||||
|     private _sshConfig: SshConfig // sshConfig (e.g. represents ~/.ssh/config) | ||||
|     private _sshDir: SshDir // points to sshDir class instance. | ||||
|     private _sshSync: boolean // if set to true, the ssh dir will be kept in sync automatically | ||||
|     constructor(optionsArg: {sshDirPath?: string,sshSync?: boolean}= {}) { | ||||
|         optionsArg ? void(0) : optionsArg = {} | ||||
|         this._sshKeyArray = [] | ||||
|         this._sshConfig = new SshConfig(this._sshKeyArray) | ||||
|         this._sshDir = new SshDir(this._sshKeyArray,this._sshConfig,optionsArg.sshDirPath) | ||||
|         this._sshSync = optionsArg.sshSync | ||||
|     }; | ||||
|   private _sshKeyArray: SshKey[] // holds all ssh keys | ||||
|   private _sshConfig: SshConfig // sshConfig (e.g. represents ~/.ssh/config) | ||||
|   private _sshDir: SshDir // points to sshDir class instance. | ||||
|   private _sshSync: boolean // if set to true, the ssh dir will be kept in sync automatically | ||||
|   constructor(optionsArg: { sshDirPath?: string, sshSync?: boolean } = {}) { | ||||
|     optionsArg ? void (0) : optionsArg = {} | ||||
|     this._sshKeyArray = [] | ||||
|     this._sshConfig = new SshConfig(this._sshKeyArray) | ||||
|     this._sshDir = new SshDir(this._sshKeyArray, this._sshConfig, optionsArg.sshDirPath) | ||||
|     this._sshSync = optionsArg.sshSync | ||||
|   }; | ||||
|  | ||||
|     // altering methods | ||||
|     addKey(sshKeyArg: SshKey) { | ||||
|         this._syncAuto('from') | ||||
|         this._sshKeyArray.push(sshKeyArg) | ||||
|         this._syncAuto('to') | ||||
|     }; | ||||
|     removeKey(sshKeyArg: SshKey) { | ||||
|         this._syncAuto('from') | ||||
|         let filteredArray = this._sshKeyArray.filter((sshKeyArg2: SshKey) => { | ||||
|             return (sshKeyArg != sshKeyArg2) | ||||
|         }) | ||||
|         this._sshKeyArray = filteredArray | ||||
|         this._syncAuto('to') | ||||
|     }; | ||||
|     replaceKey(sshKeyOldArg: SshKey,sshKeyNewArg: SshKey) { | ||||
|         this._syncAuto('from') | ||||
|         this.removeKey(sshKeyOldArg) | ||||
|         this.addKey(sshKeyNewArg) | ||||
|         this._syncAuto('to') | ||||
|     }; | ||||
|   // altering methods | ||||
|   addKey (sshKeyArg: SshKey) { | ||||
|     this._syncAuto('from') | ||||
|     this._sshKeyArray.push(sshKeyArg) | ||||
|     this._syncAuto('to') | ||||
|   }; | ||||
|   removeKey (sshKeyArg: SshKey) { | ||||
|     this._syncAuto('from') | ||||
|     let filteredArray = this._sshKeyArray.filter((sshKeyArg2: SshKey) => { | ||||
|       return (sshKeyArg != sshKeyArg2) | ||||
|     }) | ||||
|     this._sshKeyArray = filteredArray | ||||
|     this._syncAuto('to') | ||||
|   }; | ||||
|   replaceKey (sshKeyOldArg: SshKey, sshKeyNewArg: SshKey) { | ||||
|     this._syncAuto('from') | ||||
|     this.removeKey(sshKeyOldArg) | ||||
|     this.addKey(sshKeyNewArg) | ||||
|     this._syncAuto('to') | ||||
|   }; | ||||
|  | ||||
|     // | ||||
|     getKey(hostArg: string): SshKey { | ||||
|         this._syncAuto('from') | ||||
|         let filteredArray = this._sshKeyArray.filter(function(keyArg){ | ||||
|             return (keyArg.host === hostArg) | ||||
|         }) | ||||
|         if (filteredArray.length > 0) { | ||||
|             return filteredArray[0] | ||||
|         } else { | ||||
|             return undefined | ||||
|         } | ||||
|     }; | ||||
|     get sshKeys(): SshKey[] { | ||||
|         this._syncAuto('from') | ||||
|         return this._sshKeyArray | ||||
|     }; | ||||
|  | ||||
|     // FS methods | ||||
|  | ||||
|     /** | ||||
|      * write SshInstance to disk | ||||
|      */ | ||||
|     writeToDisk(dirPathArg?: string) { | ||||
|         this._sync('to',dirPathArg) | ||||
|   // | ||||
|   getKey (hostArg: string): SshKey { | ||||
|     this._syncAuto('from') | ||||
|     let filteredArray = this._sshKeyArray.filter(function (keyArg) { | ||||
|       return (keyArg.host === hostArg) | ||||
|     }) | ||||
|     if (filteredArray.length > 0) { | ||||
|       return filteredArray[ 0 ] | ||||
|     } else { | ||||
|       return undefined | ||||
|     } | ||||
|   }; | ||||
|   get sshKeys (): SshKey[] { | ||||
|     this._syncAuto('from') | ||||
|     return this._sshKeyArray | ||||
|   }; | ||||
|  | ||||
|     /** | ||||
|      * read ab SshInstance from disk | ||||
|      */ | ||||
|     readFromDisk(dirPathArg?: string) { | ||||
|         this._sync('from',dirPathArg) | ||||
|   // FS methods | ||||
|  | ||||
|   /** | ||||
|    * write SshInstance to disk | ||||
|    */ | ||||
|   writeToDisk (dirPathArg?: string) { | ||||
|     this._sync('to', dirPathArg) | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * read ab SshInstance from disk | ||||
|    */ | ||||
|   readFromDisk (dirPathArg?: string) { | ||||
|     this._sync('from', dirPathArg) | ||||
|   } | ||||
|  | ||||
|   /* =============================================================== | ||||
|   ========================= Private Methods ======================== | ||||
|   ================================================================*/ | ||||
|  | ||||
|   private _makeConfig () { | ||||
|  | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * method to invoke SshInstance _sync automatically when sshSync is true | ||||
|    */ | ||||
|   private _syncAuto (directionArg) { | ||||
|     if (this._sshSync) this._sync(directionArg) | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * private method to sync SshInstance | ||||
|    */ | ||||
|   private _sync (directionArg: string, dirPathArg?: string) { | ||||
|     if (directionArg === 'from') { | ||||
|       this._sshDir.readFromDir(dirPathArg) // call sync method of sshDir class; | ||||
|     } else if (directionArg === 'to') { | ||||
|       this._sshDir.writeToDir(dirPathArg) | ||||
|     } else { | ||||
|       throw new Error("directionArg not recognised. Must be 'to' or 'from'") | ||||
|     } | ||||
|  | ||||
|     /* =============================================================== | ||||
|     ========================= Private Methods ======================== | ||||
|     ================================================================*/ | ||||
|  | ||||
|     private _makeConfig () { | ||||
|  | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * method to invoke SshInstance _sync automatically when sshSync is true | ||||
|      */ | ||||
|     private _syncAuto(directionArg) { | ||||
|         if (this._sshSync) this._sync(directionArg) | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * private method to sync SshInstance | ||||
|      */ | ||||
|     private _sync(directionArg: string,dirPathArg?: string) { | ||||
|         if (directionArg === 'from') { | ||||
|             this._sshDir.readFromDir(dirPathArg) // call sync method of sshDir class; | ||||
|         } else if (directionArg === 'to') { | ||||
|             this._sshDir.writeToDir(dirPathArg) | ||||
|         } else { | ||||
|             throw new Error("directionArg not recognised. Must be 'to' or 'from'") | ||||
|         } | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user