| 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();
 
- }
 
 
  |