From 663c838a5805b3032c46302cca7841a3eef0e545 Mon Sep 17 00:00:00 2001 From: Ian Grayson Date: Tue, 5 Jul 2016 10:27:30 -0700 Subject: [PATCH] Create ssh2-sftp-client.d.ts --- ssh2-sftp-client/ssh2-sftp-client-tests.ts | 27 +++++++++++++ ssh2-sftp-client/ssh2-sftp-client.d.ts | 47 ++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 ssh2-sftp-client/ssh2-sftp-client-tests.ts create mode 100644 ssh2-sftp-client/ssh2-sftp-client.d.ts diff --git a/ssh2-sftp-client/ssh2-sftp-client-tests.ts b/ssh2-sftp-client/ssh2-sftp-client-tests.ts new file mode 100644 index 0000000000..0c2709bf61 --- /dev/null +++ b/ssh2-sftp-client/ssh2-sftp-client-tests.ts @@ -0,0 +1,27 @@ +/// + +import * as Client from 'ssh2-sftp-client'; +var client = new Client(); + +client.connect({ + host: 'asdb', + port: 1234, + privateKey: 'my private key rsa in openssh format', + readyTimeout: 1000, +}).then(() => null); + +client.list('/remote/path').then(() => null); + +client.get('/remote/path').then(stream => stream.read(0)); + +client.put('/local/path', '/remote/path').then(() => null); + +client.put(new Buffer('content'), '/remote/path').then(() => null); + +client.mkdir('/remote/path/dir', true).then(() => null); + +client.delete('remote/path').then(() => null); + +client.remove('/remote/from', '/remote/to').then(() => null); + +client.end().then(() => null); \ No newline at end of file diff --git a/ssh2-sftp-client/ssh2-sftp-client.d.ts b/ssh2-sftp-client/ssh2-sftp-client.d.ts new file mode 100644 index 0000000000..1676ad0077 --- /dev/null +++ b/ssh2-sftp-client/ssh2-sftp-client.d.ts @@ -0,0 +1,47 @@ +// Type definitions for ssh2-sftp-client v1.0.5 +// Project: https://www.npmjs.com/package/ssh2-sftp-client +// Definitions by: igrayson +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +/// + +declare module "ssh2-sftp-client" { + import * as ssh2 from 'ssh2'; + + namespace sftp { + + interface FileInfo { + type:string; + name:string; + size:number; + modifyTime:number; + accessTime:number; + rights:{ + user:string; + group:string; + other:string; + }; + owner:number; + group:number; + } + + interface Client { + new():Client; + connect(options:ssh2.ConnectConfig):Promise; + list(remoteFilePath:string):Promise>; + get(remoteFilePath:string, useCompression?:boolean):Promise; + put(localFilePath:string, remoteFilePath:string, useCompression?:boolean):Promise; + put(buffer:Buffer, remoteFilePath:string, useCompression?:boolean):Promise; + put(stream:NodeJS.ReadableStream, remoteFilePath:string, useCompression?:boolean):Promise; + mkdir(remoteFilePath:string, recursive?:boolean):Promise; + delete(remoteFilePath:string):Promise; + remove(remoteSourcePath:string, remoteDestPath:string):Promise; + end():Promise; + } + } + + var sftp:sftp.Client; + + export = sftp; +} +