uBlock/src/lib/lz4
Raymond Hill 4b72918e3a
typo
2018-08-12 09:07:44 -04:00
..
lz4-block-codec-any.js reorganize cache storage compression; workaround fix for #2812 2018-08-11 10:39:43 -04:00
lz4-block-codec-js.js code review of pure-js implementation of lz4 2018-08-12 08:47:50 -04:00
lz4-block-codec-wasm.js code review of 38aabc937a 2018-08-12 07:18:34 -04:00
lz4-block-codec.wasm reorganize cache storage compression; workaround fix for #2812 2018-08-11 10:39:43 -04:00
README.md typo 2018-08-12 09:07:44 -04:00

Purpose

The purpose of this library is to implement LZ4 compression/decompression, as documented at the official LZ4 repository:

https://github.com/lz4/lz4/blob/dev/doc/lz4_Block_format.md

The files in this directory are developed as a separate project at:

https://github.com/gorhill/lz4-wasm

Files

lz4-block-codec-any.js

The purpose is to instanciate a WebAssembly- or pure javascript-based LZ4 block codec.

If the choosen implementation is not specified, there will be an attempt to create a WebAssembly-based instance. If for whatever reason this fails, a pure javascript-based instanced will be created.

The script for either instances are dynamically loaded, such that no resources is wasted by keeping in memory code which won't be used.

lz4-block-codec-wasm.js

This contains the code to instanciate WebAssembly-based LZ4 block codec. Note that the WebAssembly module is loaded using a same-origin fetch, hence ensuring that no code outside the package is loaded.

lz4-block-codec-wasm.js

This contains the code to instanciate pure javascript-based LZ4 block codec.

This is used as a fallback implementation should WebAssembly not be available for whatever reason.

lz4-block-codec.wasm

This is the WebAssembly module, loaded by lz4-block-codec-wasm.js.