decodeVarint function

int decodeVarint(
  1. Uint8List data
)

Decodes a varint from a byte array.

Implementation

int decodeVarint(Uint8List data) {
  var result = 0;
  var shift = 0;
  var i = 0;

  while (i < data.length) {
    final byte = data[i];
    result |= (byte & 0x7F) << shift;
    if ((byte & 0x80) == 0) {
      return result;
    }
    shift += 7;
    i++;
  }

  throw FormatException('Invalid varint encoding');
}