Package Exports
- lzbase62
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lzbase62) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
lzbase62
LZ77(LZSS) based compression algorithm in base62 for JavaScript.
The compressed result will be a string in base 62 (0-9A-Za-z) characters.
This is useful when storing large amounts of data in size-limited storage such as localStorage or cookies.
Demo
Installation
npm
$ npm install --save lzbase62Usage
var data = 'hello hello hello';
console.log(data.length); // 17
var compressed = lzbase62.compress(data);
console.log(compressed); // 'tYVccfrgxGL'
console.log(compressed.length); // 11
console.log(compressed.length < data.length); // true
var decompressed = lzbase62.decompress(compressed);
console.log(decompressed); // 'hello hello hello'
console.log(decompressed === data); // truenode
const lzbase62 = require('lzbase62');
const compressed = lzbase62.compress('hello hello hello');webpack etc.
import lzbase62 from 'lzbase62';
const compressed = lzbase62.compress('hello hello hello');browser (standalone)
<script src="lzbase62.min.js"></script>
<script>
var compressed = lzbase62.compress('hello hello hello');
</script>Object lzbase62 is defined in the global scope if running in the browser window. ( window.lzbase62 )
API
lzbase62.compress(data, [options])
Compress data to a base62 [0-9a-zA-Z] encoded string.
Arguments
- data (string) : Input data
- [options] (object) : Compress options
- onData (function (data) {}) : Called when a data is chunked
- onEnd (function () {}) : Called when process is finished
Returns
(string) : Compressed data
Example
Compress string
var compressed = lzbase62.compress('abcabcabcabcabc');
console.log(compressed); // 'tRSTxDM'Compress data using onData events
var string = 'hello hello hello';
var compressed = [];
lzbase62.compress(string, {
onData: function(data) {
compressed.push(data);
},
onEnd: function() {
console.log(compressed.join('')); // 'tYVccfrgxGL'
}
});lzbase62.decompress(data, [options])
Decompress data from a base62 [0-9a-zA-Z] encoded string.
Arguments
- data (string) : Input data
- [options] (object) : Decompress options
- onData (function (data) {}) : Called when a data is chunked
- onEnd (function () {}) : Called when process is finished
Returns
(string) : Decompressed data
Example
Decompress string
var decompressed = lzbase62.decompress('tRSTxDM');
console.log(decompressed); // 'abcabcabcabcabc'Decompress data using onData events
var compressed = 'tYVccfrgxGL';
var decompressed = [];
lzbase62.decompress(compressed, {
onData: function(data) {
decompressed.push(data);
},
onEnd: function() {
console.log(decompressed.join('')); // 'hello hello hello'
}
});License
MIT