JSZip-sync is a fork of JSZip, a library for creating, reading and editing .zip files with Javascript, with a
JSZip
![Code Climate](https://camo.githubusercontent.com/81c830a1b127502cad969323c7380fe0fcccdcff820cbe424f5cb0e2f767447b/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f5374756b2f6a737a69702f6261646765732f6770612e737667)
A library for creating, reading and editing .zip files with JavaScript, with a lovely and simple API.
This page is the only documentation for JSZip-sync (and JSZip-sync only). See https://stuk.github.io/jszip for the complete JSZip documentation.
JSZip-sync adds sync support to the official JSZip which only supports async methods. Async methods are the recommended way to go when running in a browser UI, where latency is a concern. However, sync methods can also be useful when dealing with complex business logic and executing in node.js or in a worker. It is discouraged to use sync methods in the browser UI.
Sync support is enabled by simply wrapping async calls in zip.sync, as follows:
var JSZip = require("jszip-sync");
var zip = new JSZip();
var zipped = zip.sync(function() {
// put some stuff in there
zip.file("Hello.txt", "Hello World\n");
var img = zip.folder("images");
img.file("smile.gif", imgData, {base64: true});
// call regular async methods
var data = null;
zip.generateAsync({type: "arraybuffer", compression: "DEFLATE"})
.then(function(content) {
data = content;
});
return data;
});
// now zipped contains zipped data
JSZip-sync is dual-licensed. You may use it under the MIT license or the GPLv3 license. See LICENSE.markdown.