JSPM

lz-string-esm

2.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 62
  • Score
    100M100P100Q68553F
  • License MIT

LZ-based compression algorithm

Package Exports

  • lz-string-esm
  • lz-string-esm/UTF16/compressToUTF16
  • lz-string-esm/UTF16/decompressFromUTF16
  • lz-string-esm/Uint8Array/compressToUint8Array
  • lz-string-esm/Uint8Array/decompressFromUint8Array
  • lz-string-esm/Uint8Array/utils
  • lz-string-esm/_compress
  • lz-string-esm/_decompress
  • lz-string-esm/base64/compressToBase64
  • lz-string-esm/base64/decompressFromBase64
  • lz-string-esm/base64/keyStrBase64
  • lz-string-esm/custom/compressToCustom
  • lz-string-esm/custom/decompressFromCustom
  • lz-string-esm/encodedURIComponent/compressToEncodedURIComponent
  • lz-string-esm/encodedURIComponent/decompressFromEncodedURIComponent
  • lz-string-esm/encodedURIComponent/keyStrUriSafe
  • lz-string-esm/getBaseValue
  • lz-string-esm/index
  • lz-string-esm/index.umd
  • lz-string-esm/node
  • lz-string-esm/package.json
  • lz-string-esm/raw/compress
  • lz-string-esm/raw/decompress

Readme

lz-string

Node.js CI Version npm package Downloads Documentation

LZ-based compression algorithm for JavaScript

[!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.

[!TIP] The "old style" minified AMD file is available as dist/index.umd.js via various CDNs or package managers.

Install via npm

$ npm install -g lz-string
$ lz-string input.txt > output.txt

Home page

Home page for this program with examples, documentation and a live demo: http://pieroxy.net/blog/pages/lz-string/index.html

Command line

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 <type>        character encoding to use (choices: "base64", "encodeduri", "raw", "uint8array", "utf16", default: "raw")
  -v, --verify                verify before returning (default: true)
  -b, --binary <file>         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>  output file, otherwise write to stdout
  -q, --quiet                 don't print any error messages
  -h, --help                  display help for command

Other languages

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

[!CAUTION] These are all developed separately, so if you are using two versions to transfer data (such as a client and server version) it is important to check that they are compatible and have identical behaviours on the data!

[!NOTE] Version 1.3.8 of this package had a slight change in the encoding which might impact compatibility.