encode static method

Uint8List encode(
  1. Comics comics, {
  2. Map<String, List<int>> files = const {},
})

Encodes comics with its asset files (archive-relative layers/… / sounds/… → bytes).

Implementation

static Uint8List encode(
  Comics comics, {
  Map<String, List<int>> files = const {},
}) {
  final archive = Archive();
  final data = utf8.encode(jsonEncode(comics.toJson()));
  archive.addFile(ArchiveFile('data.json', data.length, data));
  for (final e in files.entries) {
    if (!isSafeEntryName(e.key)) {
      throw ArgumentError.value(e.key, 'files', 'unsafe archive entry name');
    }
    archive.addFile(ArchiveFile(e.key, e.value.length, e.value));
  }
  return Uint8List.fromList(ZipEncoder().encode(archive));
}