dotfiles/vscode/.vscode/extensions/randomfractalsinc.vscode-data-preview-2.3.0/node_modules/varint/decode.js
Errol Sancaktar ff17c17e23 vscode
2024-06-14 09:31:58 -06:00

30 lines
508 B
JavaScript

module.exports = read
var MSB = 0x80
, REST = 0x7F
function read(buf, offset) {
var res = 0
, offset = offset || 0
, shift = 0
, counter = offset
, b
, l = buf.length
do {
if (counter >= l) {
read.bytes = 0
throw new RangeError('Could not decode varint')
}
b = buf[counter++]
res += shift < 28
? (b & REST) << shift
: (b & REST) * Math.pow(2, shift)
shift += 7
} while (b >= MSB)
read.bytes = counter - offset
return res
}