decodePackedVarints function
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;
}