extractFiles method Null safety

Future<void> extractFiles(
  1. Map<String, dynamic> files
)

Extract the provided files

Implementation

static Future<void> extractFiles(Map<String, dynamic> files) async {
  final File zipFile = files['zipFile'];
  final String directory = files['directory'];
  final bytes = zipFile.readAsBytesSync();
  final archive = ZipDecoder().decodeBytes(bytes);

  for (final file in archive) {
    if (file.isFile && !file.name.startsWith('__MACOSX')) {
      final decompressed = file.content as List<int>;
      final outFile =
          await File('$directory/${file.name}').create(recursive: true);
      if (outFile.existsSync() &&
          outFile.lengthSync() != decompressed.length) {
        Get.log('Creating file ${file.name}');
        outFile.writeAsBytesSync(decompressed, flush: true);
      }
    }
  }
}