comunicationLeap/node_modules/pause/index.js
node_modules/pause/index.jsRaw
1
2module.exports = function(obj){
3 var onData
4 , onEnd
5 , events = [];
6
7 // buffer data
8 obj.on('data', onData = function(data, encoding){
9 events.push(['data', data, encoding]);
10 });
11
12 // buffer end
13 obj.on('end', onEnd = function(data, encoding){
14 events.push(['end', data, encoding]);
15 });
16
17 return {
18 end: function(){
19 obj.removeListener('data', onData);
20 obj.removeListener('end', onEnd);
21 },
22 resume: function(){
23 this.end();
24 for (var i = 0, len = events.length; i < len; ++i) {
25 obj.emit.apply(obj, events[i]);
26 }
27 }
28 };
29};