30 lines
617 B
JavaScript
30 lines
617 B
JavaScript
![]() |
var through = require('through');
|
||
|
var nextTick = typeof setImmediate !== 'undefined'
|
||
|
? setImmediate
|
||
|
: process.nextTick
|
||
|
;
|
||
|
|
||
|
module.exports = function (write, end) {
|
||
|
var tr = through(write, end);
|
||
|
tr.pause();
|
||
|
var resume = tr.resume;
|
||
|
var pause = tr.pause;
|
||
|
var paused = false;
|
||
|
|
||
|
tr.pause = function () {
|
||
|
paused = true;
|
||
|
return pause.apply(this, arguments);
|
||
|
};
|
||
|
|
||
|
tr.resume = function () {
|
||
|
paused = false;
|
||
|
return resume.apply(this, arguments);
|
||
|
};
|
||
|
|
||
|
nextTick(function () {
|
||
|
if (!paused) tr.resume();
|
||
|
});
|
||
|
|
||
|
return tr;
|
||
|
};
|