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