mediawiki-extensions-Visual.../lib/Easy-Deflate
Ed Sanders 288da5b704 Compress HTML data with deflate before POSTing
Bug: 66914
Change-Id: I7b0a9cfd4d4c10986769a868884688ffca833cb6
2014-06-24 17:39:03 +01:00
..
deflate.js
easydeflate.js
README.md
typedarrays.js

Modified version of Easy-Deflate https://github.com/Jacob-Christian-Munch-Andersen/Easy-Deflate

  • Added semi-colons to easydeflate.js so it can be minified
  • Namespaced functions inside global EasyDeflate object
  • Base64 lib replaced with one with detailed license info

Modifications by Ed Sanders, Public Domain.

Easy-Deflate

Library for compressing and decompressing strings in JavaScript, feature full Unicode support and is compatible with most browsers.

Use:

Copy the script inclusion from demo.html.
Call deflate(foo) in order to compress a string.
Call inflate(bar) in order to decompress a string compressed in this manner.
Both functions return a string, or null in case of illegal input.

The compression works by first UTF-8 encoding the input, then compressing it to a raw deflate stream. The stream is then base64 encoded, and finally the identifier "rawdeflate," is prepended.

Credits:

Gildas Lormeau made the JavaScript conversion of a Deflate utility: https://github.com/gildas-lormeau/zip.js
Jacob Christian Munch-Andersen made this package in order to make simple use easier and compatible with older browsers.

The following shims are included:
es5-shim by Kristopher Michael Kowal https://github.com/kriskowal/es5-shim
JSON 3 by Kit Cambridge http://bestiejs.github.com/json3/
Typed arrays light shim by Jacob Christian Munch-Andersen https://github.com/Jacob-Christian-Munch-Andersen/Typed-arrays-light-shim
base64 by Yaffle https://gist.github.com/1284012

License:

Main packages come with a BSD licence, the shims, except for base64 that include no license text, each has a permissive license.