decompressData function
Map<String, dynamic>
decompressData(
- dynamic data,
- bool useCompression, {
- String compressDataKey = "Body",
})
Implementation
Map<String, dynamic> decompressData(dynamic data, bool useCompression, {String compressDataKey = "Body"}) {
if (useCompression) {
var hexData = data.toString().substring(2);
// print(hexData);
final decodedData = hex.decode(hexData);
// final unzippedData = gzip.decode(decodedData);
var unzippedData = kIsWeb ? GZipDecoder().decodeBytes(decodedData) : gzip.decode(decodedData);
unzippedData = unzippedData.where((element) => element != 0).toList();
// File f = File('tt.json');
// try {
// f.writeAsBytesSync(unzippedData);
// }catch (e){
// print(e);
// }
// print(unzippedData);
final decoded = utf8.decode(unzippedData, allowMalformed: true);
// print(decoded);
var decodedFix = decoded.characters.where((p0) => p0 != "\u0000").join();
// var decodedFix = decoded;
// decodedFix = decodedFix.replaceAll('', "");
// print(decodedFix.runtimeType);
var mapData = jsonDecode(decodedFix);
// var mapData = decodedFix;
// print(mapData);
return mapData;
} else {
return data;
}
}