1.0.0 • Published 2 years ago

zopfli.js v1.0.0

Weekly downloads
-
License
Apache License 2....
Repository
github
Last release
2 years ago

zopfli.js

About

Porting Zopfli to JavaScript with Emscripten.

Usage

Use one in "bin" directory.

  • zopfli.min.js: Deflate + Zlib + Gzip
  • zopfli.raw.min.js: Deflate
  • zopfli.zlib.min.js: Zlib
  • zopfli.gzip.min.js: Gzip

Compression

RawDeflate

/** @type {(Array.<number>|Uint8Array)} */
var plain = [1, 2, 3, 4];

/** @type {Zopfli.Deflate} */
var compressor = new Zopfli.RawDeflate(plain);

/** @type {Uint8Array} */
var compressed = compressor.compress();

Zlib

/** @type {(Array.<number>|Uint8Array)} */
var plain = [1, 2, 3, 4];

/** @type {Zopfli.Deflate} */
var compressor = new Zopfli.Deflate(plain);

/** @type {Uint8Array} */
var compressed = compressor.compress();

Gzip

/** @type {(Array.<number>|Uint8Array)} */
var plain = [1, 2, 3, 4];

/** @type {Zopfli.Deflate} */
var compressor = new Zopfli.Gzip(plain);

/** @type {Uint8Array} */
var compressed = compressor.compress();

Compression Option

Second argument of constructor functions.

{
    'iterations': number // Zopfli iterations parameter (Default: 15)
}

How to Build

Requirement

  • Ant 1.8+
  • JRE 1.6+
  • Emscripten's Dependencies

Build

Use "ant" command.

$ ant [target]

Build target

targetgenerate fileimplementation
debugzopfli.debug.min.js-
plainzopfli.plain.min.js-
deflatezopfli.raw.min.jsRaw Deflate
zlibzopfli.zlib.min.jsZLIB Deflate
gzipzopfli.gzip.min.jsGZIP
all*default target

License

Apache License 2.0