diff --git a/src/download.js b/src/download.js index d198addf..038280c6 100644 --- a/src/download.js +++ b/src/download.js @@ -1,6 +1,7 @@ var zip = require('./zip'); module.exports = function(gj, options) { - var content = zip(gj, options); - location.href = 'data:application/zip;base64,' + content; -}; + zip(gj, options).then(function(content) { + location.href = 'data:application/zip;base64,' + content; + }); + }; \ No newline at end of file diff --git a/src/zip.js b/src/zip.js index b8e89d85..50e54cc5 100644 --- a/src/zip.js +++ b/src/zip.js @@ -3,7 +3,7 @@ var write = require('./write'), prj = require('./prj'), JSZip = require('jszip'); -module.exports = function(gj, options) { +module.exports = function(gj, options, generateOptions) { var zip = new JSZip(), layers = zip.folder(options && options.folder ? options.folder : 'layers'); @@ -28,11 +28,15 @@ module.exports = function(gj, options) { } }); - var generateOptions = { compression:'STORE' }; + if (generateOptions) { + generateOptions.compression = 'STORE'; + } else { + generateOptions = { compression:'STORE', type:'base64' }; - if (!process.browser) { - generateOptions.type = 'nodebuffer'; + if (!process.browser) { + generateOptions.type = 'nodebuffer'; + } } - return zip.generate(generateOptions); + return zip.generateAsync(generateOptions); };