GitHub - pieroxy/lz-string: LZ-based compression algorithm for JavaScript (original) (raw)

Important

The file layout has changed in version 2, this is now a joint commonjs / esmodule project so modern build tools should be happy with it, but if importing a file directly (such as in a direct javascript project) it is important to use the correct one.

If installed globally there is a command line tool available, and a test suite that can use it to show things are working properly. If other langauges build a command line tool that supports the same arguments then the test suite can be run against them too.

$ lz-string -h Usage: cli [options] [input-file]

Use lz-string to compress or decompress a file

Arguments: input-file file to process, if no file then read from stdin

Options: -V, --version output the version number -d, --decompress if unset then this will compress -e, --encoder character encoding to use (choices: "base64", "encodeduri", "raw", "uint8array", "utf16", default: "raw") -v, --verify verify before returning (default: true) -b, --binary lz-string binary to use (default: "../dist/index.js") -l, --legacy use legacy mode where uint8array decompression must be an even length -o, --output output file, otherwise write to stdout -q, --quiet don't print any error messages -h, --help display help for command

This lib has numerous ports to other languages, for server side processing, mostly. Here they are: