| "use strict"; | 
| Object.defineProperty(exports, "__esModule", { value: true }); | 
| class ReceiveBuffer { | 
|     constructor(size = 4096) { | 
|         this._buffer = Buffer.allocUnsafe(size); | 
|         this._offset = 0; | 
|         this._originalSize = size; | 
|     } | 
|     get length() { | 
|         return this._offset; | 
|     } | 
|     append(data) { | 
|         if (!Buffer.isBuffer(data)) { | 
|             throw new Error('Attempted to append a non-buffer instance to ReceiveBuffer.'); | 
|         } | 
|         if (this._offset + data.length >= this._buffer.length) { | 
|             const tmp = this._buffer; | 
|             this._buffer = Buffer.allocUnsafe(Math.max(this._buffer.length + this._originalSize, this._buffer.length + data.length)); | 
|             tmp.copy(this._buffer); | 
|         } | 
|         data.copy(this._buffer, this._offset); | 
|         return (this._offset += data.length); | 
|     } | 
|     peek(length) { | 
|         if (length > this._offset) { | 
|             throw new Error('Attempted to read beyond the bounds of the managed internal data.'); | 
|         } | 
|         return this._buffer.slice(0, length); | 
|     } | 
|     get(length) { | 
|         if (length > this._offset) { | 
|             throw new Error('Attempted to read beyond the bounds of the managed internal data.'); | 
|         } | 
|         const value = Buffer.allocUnsafe(length); | 
|         this._buffer.slice(0, length).copy(value); | 
|         this._buffer.copyWithin(0, length, length + this._offset - length); | 
|         this._offset -= length; | 
|         return value; | 
|     } | 
| } | 
| exports.ReceiveBuffer = ReceiveBuffer; | 
| //# sourceMappingURL=receivebuffer.js.map |