zlibのごく一部をJavaScriptに移植しました。
高度な JavaScript 技集さんにinflate.jsがありますが、JavaScriptの最新機能に準拠することでより高速な実装をしています。
具体的には
zlib 1.2.5のロジックに準じます。
解凍します。 sourceは圧縮されたstream。ArrayもしくはUint8Array。 dest_or_lenは解凍されるstreamもしくはその長さ。Array、Uint8Array、numberのいずれか。 resultは解凍されたstream。dest_or_lenでArrayもしくはUint8Arrayが渡されていた場合はそれ、numberが渡されていた場合は新たに作成したArrayもしくはUint8Array。 解凍に失敗した場合はZlibError例外が投げられます。
解凍結果のArrayBufferが必要な場合、あらかじめArrayBufferとUint8Arrayを作成しておきdest_or_lenにUint8Arrayを渡すと便利です。
解凍に失敗したことを表します。errorCodeはzlibの戻り値と一致します。messageは簡単なエラー内容です。
zlib Licenseとします。
Ver 2011-12-18