zipDirectory method

Future<void> zipDirectory(
  1. Directory dir, {
  2. String? filename,
  3. int? level,
})

Zips every file and folder in dir (names are relative to dir; symbolic links are followed) to filename, by default <dir>.zip. level is 0 to 9 (default 6). Small files are compressed in parallel batches and large files are streamed, so memory stays bounded.

Implementation

Future<void> zipDirectory(Directory dir, {String? filename, int? level}) {
  final d = dir.path;
  final z = filename ?? '$d.zip';
  final l = level ?? -1;
  return Isolate.run(() => files.zipDirectory(d, z, l));
}