0.0.2 • Published 10 years ago
pako-hx v0.0.2
hxPako
pako v0.2.7 port to haxe, for cross-platform zlib functionality.
###Features
- Works in flash/js/neko/cpp.
- Chunking support for big blobs.
- Results are binary equal to well known zlib (now v1.2.8 ported).
###API
import pako.Pako;
// Deflate
//
var input = new UInt8Array();
//... fill input data here
var output = Pako.deflate(input);
// Inflate (simple wrapper can throw exception on broken stream)
//
var compressed = new UInt8Array();
//... fill data to uncompress here
try {
var result = Pako.inflate(compressed);
} catch (err:Dynamic) {
trace(err);
}
//
// Alternate interface for chunking & without exceptions
//
var inflator = new pako.Inflate();
inflator.push(chunk1, false);
inflator.push(chunk2, false);
...
inflator.push(chunkN, true); // true -> last chunk
if (inflator.err) {
trace(inflator.msg);
}
var output = inflator.result;For more info you can consult pako documentation.
###Notes hxPako (like pako) does not contain some specific zlib functions:
- deflate - methods
deflateCopy,deflateBound,deflateParams,deflatePending,deflatePrime,deflateSetDictionary,deflateTune. - inflate -
inflateGetDictionary,inflateCopy,inflateMark,inflatePrime,inflateSetDictionary,inflateSync,inflateSyncPoint,inflateUndermine.
hxPako only supports UInt8Array (unlike pako, which also works with strings and arrays). But it's easy to extend to those too by using UInt8Array.fromBytes() and UInt8Array.fromArray().
###Test Suite Timings
Current timings (node.js refers to the original suite from pako, which you can test by running mocha in the top folder). See testAll.hxml.
| platform | release | debug |
|---|---|---|
| node.js | 5.8s | - |
| cpp | 6.7s | 96.7s |
| js | 11.5s | 13.2s |
| flash | 40.8s | 141.4s |
| neko | 158.5s | 177.1s |
###Authors
- Andrey Tupitsin and Vitaly Puzrin (original pako lib)
- Me (haxe port)
###License MIT
0.0.2
10 years ago