From 057e24868aa2ca69e50901331b83dd429062830c Mon Sep 17 00:00:00 2001 From: Lukas Zech Date: Thu, 10 Nov 2016 16:49:30 +0100 Subject: [PATCH 1/2] Add 'bytesRead' and 'path' to fs.ReadStream --- node/index.d.ts | 2 ++ node/node-tests.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/node/index.d.ts b/node/index.d.ts index c9f672ec9f..3d4b9d8965 100644 --- a/node/index.d.ts +++ b/node/index.d.ts @@ -2019,6 +2019,8 @@ declare module "fs" { export interface ReadStream extends stream.Readable { close(): void; destroy(): void; + bytesRead: number; + path: string | Buffer; /** * events.EventEmitter diff --git a/node/node-tests.ts b/node/node-tests.ts index 4083c826ae..cee6054970 100644 --- a/node/node-tests.ts +++ b/node/node-tests.ts @@ -423,6 +423,8 @@ function stream_readable_pipe_test() { var r = fs.createReadStream('file.txt'); var z = zlib.createGzip({ finishFlush: zlib.Z_FINISH }); var w = fs.createWriteStream('file.txt.gz'); + console.log(r.bytesRead); + console.log(r.path); r.pipe(z).pipe(w); r.close(); } From fe4f88362dd351955b1c0a5854105a1c7dc0360b Mon Sep 17 00:00:00 2001 From: Lukas Zech Date: Sat, 12 Nov 2016 11:02:54 +0100 Subject: [PATCH 2/2] Add test to check type of ReadStream.bytesRead and ReadStream.path --- node/node-tests.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/node/node-tests.ts b/node/node-tests.ts index cee6054970..988eabc6f3 100644 --- a/node/node-tests.ts +++ b/node/node-tests.ts @@ -420,13 +420,19 @@ namespace util_tests { // http://nodejs.org/api/stream.html#stream_readable_pipe_destination_options function stream_readable_pipe_test() { + var rs = fs.createReadStream(Buffer.from('file.txt')); var r = fs.createReadStream('file.txt'); var z = zlib.createGzip({ finishFlush: zlib.Z_FINISH }); var w = fs.createWriteStream('file.txt.gz'); - console.log(r.bytesRead); - console.log(r.path); + + assert(typeof r.bytesRead === 'number'); + assert(typeof r.path === 'string'); + assert(typeof rs.path === 'Buffer'); + r.pipe(z).pipe(w); + r.close(); + rs.close(); } // Simplified constructors