docs: function pauseStream(stream) {
      function _buffer(chunk) {
          stream.__buffered.push(chunk);
      }
  
      function _catchEnd(chunk) {
          stream.__rstfyEnded = true;
      }
  
      stream.__rstfyEnded = false;
      stream.__rstfyPaused = true;
      stream.__buffered = [];
      stream.on('data', _buffer);
      stream.once('end', _catchEnd);
      stream.pause();
  
      stream._resume = stream.resume;
      stream.resume = function _rstfy_resume() {
          if (!stream.__rstfyPaused) {
              return;
          }
  
          stream.removeListener('data', _buffer);
          stream.removeListener('end', _catchEnd);
  
          stream.__buffered.forEach(stream.emit.bind(stream, 'data'));
          stream.__buffered.length = 0;
  
          stream._resume();
          stream.resume = stream._resume;
  
          if (stream.__rstfyEnded) {
              stream.emit('end');
          }
      };
  }