compressBytes function

Future<Uint8List> compressBytes(
  1. Uint8List input
)

Compresses a byte array into a GZip compressed byte array.

Implementation

Future<Uint8List> compressBytes(Uint8List input) async {
  final blob = web.Blob([input.toJS].toJS);
  final response = web.Response(blob);

  final compressionStream = CompressionStream('gzip');
  final compressedStream = response.body!.pipeThrough(compressionStream);

  final compressedResponse = web.Response(compressedStream);
  final arrayBuffer = await compressedResponse.arrayBuffer().toDart;
  return arrayBuffer.toDart.asUint8List();
}