compress
Compress and decompress strings with gzip, zlib, lz4, or brotli. Every compress returns a base64 string, and every decompress expects that base64 string back. Import it with import compress.
compress.gzip
| Function | Signature | Description |
|---|
compress | compress.gzip.compress(data: string) → string | Gzip-compress and base64-encode |
decompress | compress.gzip.decompress(data: string) → string | Base64-decode and gzip-decompress |
compress.zlib
| Function | Signature | Description |
|---|
compress | compress.zlib.compress(data: string) → string | Zlib-compress and base64-encode |
decompress | compress.zlib.decompress(data: string) → string | Base64-decode and zlib-decompress |
compress.lz4
Uses the self-describing LZ4 frame format, so decompression needs no size hint.
| Function | Signature | Description |
|---|
compress | compress.lz4.compress(data: string) → string | LZ4-compress and base64-encode |
decompress | compress.lz4.decompress(data: string) → string | Base64-decode and LZ4-decompress |
compress.brotli
| Function | Signature | Description |
|---|
compress | compress.brotli.compress(data: string) → string | Brotli-compress and base64-encode |
decompress | compress.brotli.decompress(data: string) → string | Base64-decode and brotli-decompress |
Top-level helpers
Backward-compatible shortcuts for gzip and zlib.
| Function | Signature | Description |
|---|
gzip_compress | compress.gzip_compress(data: string) → string | Same as compress.gzip.compress |
gunzip | compress.gunzip(data: string) → string | Same as compress.gzip.decompress |
zlib_compress | compress.zlib_compress(data: string) → string | Same as compress.zlib.compress |
unzlib | compress.unzlib(data: string) → string | Same as compress.zlib.decompress |
Example
import compress
let original = "the quick brown fox jumps over the lazy dog"
// gzip round-trip via base64
let packed = compress.gzip.compress(original)
print(compress.gzip.decompress(packed)) // the quick brown fox...
// other algorithms share the same shape
let br = compress.brotli.compress(original)
print(compress.brotli.decompress(br) == original) // true