From 9efb38a314a13f1d13e9c994e7113b266459d616 Mon Sep 17 00:00:00 2001 From: Ryan Sims Date: Tue, 18 Dec 2018 20:06:23 -0500 Subject: [PATCH 1/3] Add option to zip files without folder --- src/zip.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/zip.js b/src/zip.js index b8e89d85..5a7d7047 100644 --- a/src/zip.js +++ b/src/zip.js @@ -8,6 +8,11 @@ module.exports = function(gj, options) { var zip = new JSZip(), layers = zip.folder(options && options.folder ? options.folder : 'layers'); + // if options.folder is set to false, zip files without a folder + if (options && options.folder === false) { + layers = zip; + } + [geojson.point(gj), geojson.line(gj), geojson.polygon(gj)] .forEach(function(l) { if (l.geometries.length && l.geometries[0].length) { From 9fa505f1c26ecf96c013d17a383b64bf7ca45223 Mon Sep 17 00:00:00 2001 From: Ryan Sims Date: Wed, 28 Aug 2019 17:08:50 -0400 Subject: [PATCH 2/3] update logic so options.folder == false does not create 'layers' folder in zip --- src/zip.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/zip.js b/src/zip.js index 5a7d7047..b05aebc9 100644 --- a/src/zip.js +++ b/src/zip.js @@ -6,11 +6,13 @@ var write = require('./write'), module.exports = function(gj, options) { var zip = new JSZip(), - layers = zip.folder(options && options.folder ? options.folder : 'layers'); + layers; // if options.folder is set to false, zip files without a folder if (options && options.folder === false) { layers = zip; + } else { + layers = zip.folder(options && options.folder ? options.folder : 'layers'); } [geojson.point(gj), geojson.line(gj), geojson.polygon(gj)] From 4c97165cf773e3bebb3823a8b0e2aa73c8e08890 Mon Sep 17 00:00:00 2001 From: Ryan Sims Date: Wed, 28 Aug 2019 17:25:06 -0400 Subject: [PATCH 3/3] zip to named folder if options.folder is defined and a string, otherwise default to a shallow zip --- src/zip.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/zip.js b/src/zip.js index b05aebc9..77392e75 100644 --- a/src/zip.js +++ b/src/zip.js @@ -8,13 +8,13 @@ module.exports = function(gj, options) { var zip = new JSZip(), layers; - // if options.folder is set to false, zip files without a folder - if (options && options.folder === false) { - layers = zip; + // if options.folder is set, zip to a folder with that name + if (options && options.folder && typeof options.folder === 'string') { + layers = zip.folder(options.folder); } else { - layers = zip.folder(options && options.folder ? options.folder : 'layers'); + layers = zip; } - + [geojson.point(gj), geojson.line(gj), geojson.polygon(gj)] .forEach(function(l) { if (l.geometries.length && l.geometries[0].length) {