1234567891011121314151617181920212223242526272829 |
- 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]);
- }
- }
- };
- };
|