dvUnpackFiles function
The files dvPackFiles packed.
Implementation
Map<String, List<int>> dvUnpackFiles(List<int> packed) {
final Uint8List raw = Uint8List.fromList(gzip.decode(packed));
final ByteData data = ByteData.sublistView(raw);
final Map<String, List<int>> files = <String, List<int>>{};
int at = 0;
while (at < raw.length) {
final int nameLength = data.getUint32(at, Endian.little);
at += 4;
final String path = utf8.decode(raw.sublist(at, at + nameLength));
at += nameLength;
final int length = data.getUint64(at, Endian.little);
at += 8;
files[path] = Uint8List.sublistView(raw, at, at + length);
at += length;
}
return files;
}