Package Exports
- vlq-buffer
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (vlq-buffer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
vlq-buffer
A simple set of functions for converting between integer and VLQ buffer values
Installation
$ npm install --save vlq-buffer
Reference vlq-buffer
var vlqBuffer = require('vlq-buffer');
Usage
int2VLQBuffer
This method converts an integer to a Buffer containing the VLQ representation of that integer.
var myInt = 2097151;
var bufferValue = vlqBuffer.int2VLQBuffer(myInt);
// bufferValue == <Buffer ff ff 7f>
vlqBuffer2Int
This method converts a Buffer containing a VLQ value to an integer.
var myVLQValue = new Buffer([0x81, 0x80, 0x00]);
var intValue = vlqBuffer.vlqBuffer2Int(myVLQValue);
// intValue == 16384
isVLQLastByte
This method returns true if the given integer's binary value starts with zero, indicating tne end of the VLQ value. This is useful for identifying the final byte in a VLQ value when reading binary data.
var vlqStartIndex = readIndex; // start reading a vlq value and the current read index
var currentByte = bufferData.readUInt8(readIndex);
while (!vlqBuffer.isVLQLastByte(currentByte)) {
if (++readIndex >= bufferData.length) throw 'EOF error'; // EOF, no vql end found
currentByte = bufferData.readUInt8(readIndex);
}
var vlqValueBytes = bufferData.slice(vlqStartIndex, ++readIndex);
var intValue = vlq.vlqBuffer2Int(vlqValueBytes);