final codec = Lz4Codec();
print('Lz4 Encoder Version: ${codec.libraryVersion}');
// One-shot encode/decode
final encoded = codec.encode(randomBytes);
var decoded = codec.decode(encoded);
final oneShotResult =
verifyEquality(randomBytes, decoded, header: 'One-shot: ');
// Streaming encode/decode
// Split the random bytes into 10 buckets
final chunks = splitIntoChunks(randomBytes, 10);
final randomStream = Stream.fromIterable(chunks);
decoded = await randomStream
.transform(codec.encoder)
.transform(codec.decoder)
.fold<List<int>>(<int>[], (buffer, data) {
buffer.addAll(data);
return buffer;
});
final streamResult =
verifyEquality(randomBytes, decoded, header: 'Streaming: ');
return (oneShotResult == true && streamResult == true) ? 0 : -1;
}```