From c8c34855e660dc699729ecd2b7b2a27931b3d80a Mon Sep 17 00:00:00 2001 From: jeromewir Date: Fri, 23 Feb 2018 11:53:28 +0100 Subject: [PATCH 1/5] Added progress emitter --- index.js | 1 + test/test.js | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/index.js b/index.js index 0e631ea..1d8146b 100644 --- a/index.js +++ b/index.js @@ -16,5 +16,6 @@ function Counter(options) { Counter.prototype._transform = function (chunk, encoding, callback) { this.length += chunk.length this.push(chunk) + this.emit('progress', chunk.length); callback() } \ No newline at end of file diff --git a/test/test.js b/test/test.js index cbffa41..5d67ade 100644 --- a/test/test.js +++ b/test/test.js @@ -18,4 +18,20 @@ describe('Passthrough Counter', function () { }) .resume() }) + + it('should have progress', function(done) { + var stream = fs.createReadStream(pack) + var counter = Counter() + var currentLength = 0 + + counter.on('progress', function (length) { + currentLength += length; + }) + + stream.pipe(counter) + .once('finish', function() { + assert.equal(currentLength, length); + done(); + }); + }) }) From 905706d59e211a02ed7dc95f01c75d616e814ad9 Mon Sep 17 00:00:00 2001 From: jeromewir Date: Fri, 23 Feb 2018 11:57:14 +0100 Subject: [PATCH 2/5] Added readme info --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 61fdd6e..855fd7c 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,10 @@ var Counter = require('passthrough-counter') var stream = fs.createReadStream('package.json') var output = fs.createWriteStream('package.json.gz') +Counter.on('progress', function (length) { + // current chunk length +}); + stream .pipe(zlib.createGzip()) .pipe(Counter) @@ -28,6 +32,10 @@ stream The total number of bytes pass through the stream. You can check this once `finish` is emitted. +### {Event} progress(length) + +Event with chunk length emitted each time chunk is received + ## License The MIT License (MIT) From dde23611ebcaf2e82cf1eeacbee0a3eed111d705 Mon Sep 17 00:00:00 2001 From: jeromewir Date: Fri, 23 Feb 2018 11:58:35 +0100 Subject: [PATCH 3/5] Fixed wrong readme usage --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 855fd7c..d0c404c 100644 --- a/README.md +++ b/README.md @@ -7,14 +7,15 @@ var Counter = require('passthrough-counter') var stream = fs.createReadStream('package.json') var output = fs.createWriteStream('package.json.gz') +var counter = new Counter(); -Counter.on('progress', function (length) { +counter.on('progress', function (length) { // current chunk length }); stream .pipe(zlib.createGzip()) -.pipe(Counter) +.pipe(counter) .once('finish', function () { console.log('final gzipped length is ' + this.length) }) From aebb0815bbd5ad03c61ae8d76b444658bda26bbd Mon Sep 17 00:00:00 2001 From: jeromewir Date: Fri, 23 Feb 2018 12:00:18 +0100 Subject: [PATCH 4/5] Bumped readme version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 64968ea..4f02d7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "passthrough-counter", "description": "Get the total buffer length of a stream.", - "version": "1.0.0", + "version": "1.0.1", "author": "Jonathan Ong (http://jongleberry.com)", "license": "MIT", "repository": "stream-utils/passthrough-counter", From 26f2e639d49edc67ac7e94df8231b5fa9b1b5c11 Mon Sep 17 00:00:00 2001 From: jeromewir Date: Fri, 23 Feb 2018 12:00:18 +0100 Subject: [PATCH 5/5] Updated package version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 64968ea..4f02d7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "passthrough-counter", "description": "Get the total buffer length of a stream.", - "version": "1.0.0", + "version": "1.0.1", "author": "Jonathan Ong (http://jongleberry.com)", "license": "MIT", "repository": "stream-utils/passthrough-counter",