2 module.exports = BufferReader;
5 var Reader = require("./reader");
6 (BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;
8 var util = require("./util/minimal");
11 * Constructs a new buffer reader instance.
12 * @classdesc Wire format reader using node buffers.
15 * @param {Buffer} buffer Buffer to read from
17 function BufferReader(buffer) {
18 Reader.call(this, buffer);
22 * @name BufferReader#buf
27 BufferReader._configure = function () {
28 /* istanbul ignore else */
30 BufferReader.prototype._slice = util.Buffer.prototype.slice;
37 BufferReader.prototype.string = function read_string_buffer() {
38 var len = this.uint32(); // modifies pos
39 return this.buf.utf8Slice
40 ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + len, this.len))
41 : this.buf.toString("utf-8", this.pos, this.pos = Math.min(this.pos + len, this.len));
45 * Reads a sequence of bytes preceeded by its length as a varint.
46 * @name BufferReader#bytes
48 * @returns {Buffer} Value read
51 BufferReader._configure();