jsziptools
It's a utility of zlib, gzip and zip format binary data.
suported browser
chrome, firefox, Edge, safari, opera.
examples
web examples
APIs
common
BufferLike
@type {string | number[] | ArrayBuffer | Uint8Array | Int8Array | Uint8ClampedArray}
jz.common.toBytes(buffer)
- @param {BufferLike} buffer
- @return {Uint8Array}
jz.common.readFileAsArrayBuffer(blob)
- @param {Blob} blob
- @return {Promise<ArrayBuffer>}
jzcommon;
jz.common.readFileAsText(blob, encoding)
- @param {Blob} blob
- @param {string} encoding - optional (default is
"UTF-8"
) - @return {Promise<string>}
jz.common.readFileAsDataURL(blob)
- @param {Blob} blob
- @return {Promise<string>}
jz.common.bytesToString(buffer)
- @param {BufferLike} buffer
- @return {Promise<string>}
jzcommon;
jz.common.concatBytes(buffers)
- @param {Array<BufferLike>} buffers
- @return {Uint8Array}
let concated = jzcommon;// orlet concated = jzcommon;
jz.common.load(urls)
It loads files as Uint8Array
.
- @param {Array<string>} urls
- @return {Promise<Uint8Array[]>}
jzcommon;// orjzcommon;
core
jz.core.deflate({buffer, level, chunkSize})
- @param {BufferLike} buffer
- @param {number} level - optional (default is
6
, range is 0-9) - @param {number} chunkSize - optional (default is
0x8000
) - @return {Uint8Array}
jz.core.inflate({buffer, chunkSize})
- @param {BufferLike} buffer
- @param {number} chunkSize - optional (default is
0x8000
) - @return {Uint8Array}
jz.core.adler32(buffer)
- @param {BufferLike} buffer
- @return {number}
jz.core.crc32({buffer, crc})
- @param {BufferLike} buffer
- @param {number}
- @return {number}
jz.stream.core.deflate({buffer, streamFn, level, shareMemory, chunkSize})
- @param {BufferLike} buffer
- @param {function(chunk: Uint8Array)} streamFn
- @param {number} level - optional (default is
6
) - @param {boolean} shareMemory - optional (default is
false
) - @param {number} chunkSize - optional (default is
0x8000
)
jzstreamcore;
jz.steram.core.inflate({buffer, streamFn, shareMemory, chunkSize})
- @param {BufferLike} buffer
- @param {function(chunk: Uint8Array)} streamFn
- @param {boolean} shareMemory - optional (default is
false
) - @param {number} chunkSize - optional (default is
0x8000
)
zlib
jz.zlib.compress({buffer, level, chunkSize})
- @param {BufferLike} buffer
- @param {number} level - optional (default is
6
) - @param {number} chunkSize - optional (default is
0x8000
) - @return {Uint8Array}
jz.zlib.decompress({buffer, chunkSize})
- @param {BufferLike} buffer
- @param {number} chunkSize - optional (default is
0x8000
) - @return {Uint8Array}
jz.stream.zlib.compress({buffer, streamFn, level, shareMemory, chunkSize})
- @param {BufferLike} buffer
- @param {function(chunk: Uint8Array)} streamFn
- @param {number} level - optional (default is
6
) - @param {boolean} shareMemory - optional (default is
false
) - @param {number} chunkSize - optional (default is
0x8000
)
jz.stream.zlib.decompress({buffer, streamFn, shareMemory, chunkSize})
- @param {BufferLike} buffer
- @param {function(chunk: Uint8Array)} streamFn
- @param {boolean} shareMemory - optional (default is
false
) - @param {number} chunkSize - optional (default is
0x8000
)
gzip
jz.gz.compress({buffer, level, chunkSize})
- @param {BufferLike} buffer
- @param {number} level - optional (default is
6
) - @param {number} chunkSize - optional (default is
0x8000
) - @return {Uint8Array}
jz.gz.decompress({buffer, chunkSize})
- @param {BufferLike} buffer
- @param {number} chunkSize - optional (default is
0x8000
) - @return {Uint8Array}
jz.stream.gz.compress({buffer, streamFn, level, shareMemory, chunkSize, fname, fcomment})
- @param {BufferLike} buffer
- @param {function(chunk: Uint8Array)} streamFn
- @param {number} level - optional (default is
6
) - @param {boolean} shareMemory - optional (default is
false
) - @param {number} chunkSize - optional (default is
0x8000
) - @param {string} fname - optional
- @param {string} fcomment - optional
jz.stream.gz.decompress({buffer, streamFn, shareMemory, chunkSize})
- @param {BufferLike} buffer
- @param {function(chunk: Uint8Array)} streamFn
- @param {boolean} shareMemory - optional (default is
false
) - @param {number} chunkSize - optional (default is
0x8000
)
zip
jz.zip.pack({files, level, chunkSize})
- @param {Array.} files
- @param {number} level - optional (default is
6
) - @param {number} chunkSize - optional (default is
0x8000
) - @return {Promise}
var files = name: 'foo' dir: // folder name: 'hello.txt' buffer: 'Hello World!' // string name: 'bar.js' buffer: buffer // ArrayBuffer name: 'hoge.mp3' url: 'audiodata/hoge.mp3' // xhr ; jzzip ; // You cat set compression level to each files.var files = name: 'mimetype' buffer: 'application/epub+zip' level: 0 //string name: 'META-INF' dir: //folder name: 'container.xml' buffer: buffer level: 0 //ArrayBuffer name: 'package.opf' url: 'package.opf' level: 6 name: 'foo.xhtml' url: 'foo.xhtml' level: 9 //xhr; jzzip;
jz.zip.unpack({buffer, encoding, chunkSize})
- @param {BufferLike | Blob} buffer
- @param {string} encoding - optional (default is
"UTF-8"
) - @param {number} chunkSize - optional (default is
0x8000
) - @return {Promise}
jzzip ;
jz.stream.zip.pack({files, streamFn, level, shareMemory, chunkSize})
- @param {Array} files
- @param {function(chunk: Uint8Array)} streamFn
- @param {number} level - optional (default is
6
) - @param {boolean} shareMemory - optional (default is
false
) - @param {number} chunkSize - optional (default is
0x8000
) - @return {Promise}
jzstreamzip ;
ZipArchiveReader
ZipArchiveReader#getFileNames()
It gets filenames in the zip archive.
- @return {Array<string>}
ZipArchiveReader#readFileAsArrayBuffer(filename)
- @param {string} filename
- @return {Promise<ArrayBuffer>}
ZipArchiveReader#readFileAsBlob(filename)
- @param {string} filename
- @return {Promise<Blob>}
ZipArchiveReader#readFileAsText(filename, encoding)
- @param {string} filename
- @param {string} encoding
- @return {Promise<string>}
ZipArchiveReader#readFileAsDataURL(filename)
- @param {string} filename
- @return {Promise<string>}
ZipArchiveReader#readFileAsArrayBufferSync(filename)
- @param {string} filename
- @return {ArrayBuffer}
ZipArchiveReader#readFileAsBlobSync(filename)
- @param {string} filename
- @return {Blob}
ZipArchiveReader#readFileAsTextSync(filename, encoding)
- @param {string} filename
- @param {string} encoding
- @return {string}
ZipArchiveReader#readFileAsBinaryStringSync(filename)
- @param {string} filename
- @return {string}
ZipArchiveReader#readFileAsDataURLSync(filename)
- @param {string} filename
- @return {string}
jz.zip.ZipArchiveWriter({shareMemory, chunkSize})
Low level zip archive writer.
- @param {boolean} shareMemory - optional (default is
false
) - @param {number} chunkSize - optional (default is
0x8000
)
const writer = shareMemory: true chunkSize: 0xf000 ;writer ;
#on(name, callback)
- @param {string} name
- @param {function} callback
- @return {jz.zip.ZipArchiveWriter} this
#write(path, buffer, level)
Write the file. Directories are created automatically.
- @param {string} path
- @param {Uint8Array} buffer
- @param {number} level - optional (default is
6
) - @return {jz.zip.ZipArchiveWriter} this
writer;
#writeDir(path)
- @param {string} path
- @return {jz.zip.ZipArchiveWriter} this
writer;// orwriter;
#writeFile(path, buffer, level)
- @param {string} path
- @param {Uint8Array} buffer
- @param {number} level - optional (default is
6
) - @return {jz.zip.ZipArchiveWriter} this
writer;writer;writer;writer;
#writeEnd()
Write central directory headers and the end central dirctory header.
writer;
Import subdirectries
You can import modules from subdirectries.
;; ;zip;