decodePackedVarints function

List<int> decodePackedVarints(
  1. List<int> data
)

Decode concatenated varint-encoded integers from data.

The caller has already extracted the raw bytes for the packed field. This function reads varints one after another until all bytes are consumed.

Returns a list of decoded integer values.

Implementation

List<int> decodePackedVarints(List<int> data) {
  List<int> results = [];
  int offset = 0;
  while (offset < data.length) {
    Map<String, int> result = decodeVarint(data, offset);
    results.add(result['value']!);
    offset += result['bytesRead']!;
  }
  return results;
}