diff options
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/are-we-there-yet/lib/tracker-stream.js')
-rw-r--r-- | sandbox/testAppNevena/Front/node_modules/are-we-there-yet/lib/tracker-stream.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/are-we-there-yet/lib/tracker-stream.js b/sandbox/testAppNevena/Front/node_modules/are-we-there-yet/lib/tracker-stream.js new file mode 100644 index 00000000..e1cf8505 --- /dev/null +++ b/sandbox/testAppNevena/Front/node_modules/are-we-there-yet/lib/tracker-stream.js @@ -0,0 +1,36 @@ +'use strict' +var util = require('util') +var stream = require('readable-stream') +var delegate = require('delegates') +var Tracker = require('./tracker.js') + +var TrackerStream = module.exports = function (name, size, options) { + stream.Transform.call(this, options) + this.tracker = new Tracker(name, size) + this.name = name + this.id = this.tracker.id + this.tracker.on('change', delegateChange(this)) +} +util.inherits(TrackerStream, stream.Transform) + +function delegateChange (trackerStream) { + return function (name, completion, tracker) { + trackerStream.emit('change', name, completion, trackerStream) + } +} + +TrackerStream.prototype._transform = function (data, encoding, cb) { + this.tracker.completeWork(data.length ? data.length : 1) + this.push(data) + cb() +} + +TrackerStream.prototype._flush = function (cb) { + this.tracker.finish() + cb() +} + +delegate(TrackerStream.prototype, 'tracker') + .method('completed') + .method('addWork') + .method('finish') |