aboutsummaryrefslogtreecommitdiff
path: root/node_modules/pause/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/pause/index.js')
-rw-r--r--node_modules/pause/index.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/node_modules/pause/index.js b/node_modules/pause/index.js
new file mode 100644
index 0000000..1b7b379
--- /dev/null
+++ b/node_modules/pause/index.js
@@ -0,0 +1,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]);
+ }
+ }
+ };
+}; \ No newline at end of file