| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 'use strict';Object.defineProperty(exports, "__esModule", {  value: true});exports.default = readBuffer;function readBuffer(pipe, length, callback) {  if (length === 0) {    callback(null, Buffer.alloc(0));    return;  }  let remainingLength = length;  const buffers = [];  const readChunk = () => {    const onChunk = arg => {      let chunk = arg;      let overflow;      if (chunk.length > remainingLength) {        overflow = chunk.slice(remainingLength);        chunk = chunk.slice(0, remainingLength);        remainingLength = 0;      } else {        remainingLength -= chunk.length;      }      buffers.push(chunk);      if (remainingLength === 0) {        pipe.removeListener('data', onChunk);        pipe.pause();        if (overflow) {          pipe.unshift(overflow);        }        callback(null, Buffer.concat(buffers, length));      }    };    pipe.on('data', onChunk);    pipe.resume();  };  readChunk();}
 |