v2 / vlib / compress / zlib / zlib.v
17 lines · 14 sloc · 763 bytes · 50e2d0344fb64b27f59f351cfc304a9c3944e05d
Raw
1module zlib
2
3import compress as compr
4
5// compresses an array of bytes using zlib and returns the compressed bytes in a new array
6// Example: b := 'abcdefgh'.repeat(1000).bytes(); cmpr := zlib.compress(b)!; assert cmpr.len < b.len; dc := zlib.decompress(cmpr)!; assert b == dc
7pub fn compress(data []u8) ![]u8 {
8 // flags = TDEFL_WRITE_ZLIB_HEADER (0x01000)
9 return compr.compress(data, 0x01000)
10}
11
12// decompresses an array of bytes using zlib and returns the decompressed bytes in a new array
13// Example: b := 'abcdefgh'.repeat(1000).bytes(); cmpr := zlib.compress(b)!; assert cmpr.len < b.len; dc := zlib.decompress(cmpr)!; assert b == dc
14pub fn decompress(data []u8) ![]u8 {
15 // flags = TINFL_FLAG_PARSE_ZLIB_HEADER (0x1)
16 return compr.decompress(data, 0x1)
17}
18