From 33035ea5e36029dc38c05e4ab09b74bd7453acd9 Mon Sep 17 00:00:00 2001 From: Bryan Roe Date: Wed, 24 Jun 2020 01:59:01 -0700 Subject: [PATCH] Updated zip-writer so you can pass folder names --- microscript/ILibDuktape_Polyfills.c | 2 +- modules/zip-writer.js | 34 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/microscript/ILibDuktape_Polyfills.c b/microscript/ILibDuktape_Polyfills.c index 77cc85d..892d73f 100644 --- a/microscript/ILibDuktape_Polyfills.c +++ b/microscript/ILibDuktape_Polyfills.c @@ -2294,7 +2294,7 @@ void ILibDuktape_Polyfills_JS_Init(duk_context *ctx) duk_peval_string_noresult(ctx, "addCompressedModule('zip-reader', Buffer.from('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', 'base64'));"); // zip-writer, refer to modules/zip-writer.js - duk_peval_string_noresult(ctx, "addCompressedModule('zip-writer', Buffer.from('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', 'base64'));"); + duk_peval_string_noresult(ctx, "addCompressedModule('zip-writer', Buffer.from('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', 'base64'));"); #ifndef _NOHECI diff --git a/modules/zip-writer.js b/modules/zip-writer.js index 76a8a26..bafe75b 100644 --- a/modules/zip-writer.js +++ b/modules/zip-writer.js @@ -180,9 +180,43 @@ function next(options) require('fs').read(this._currentFD, { buffer: this._ubuffer }, this._uncompressedReadSink); } +function checkFiles(files) +{ + var checked = []; + var tmp; + var s, j; + + for(var i in files) + { + s = require('fs').statSync(files[i]); + if(s.isFile()) + { + checked.push(files[i]); + } + else if (s.isDirectory()) + { + tmp = require('fs').readdirSync(files[i]); + for (j in tmp) + { + tmp[j] = files[i] + (process.platform == 'win32' ? '\\' : '/') + tmp[j]; + } + tmp = checkFiles(tmp); + for(j in tmp) + { + checked.push(tmp[j]); + } + } + } + return (checked); +} + function write(options) { if (!options.files || options.files.length == 0) { throw ('No file specified'); } + + // Check if any folders were specified + options.files = checkFiles(options.files); + var ret = new duplex( { write: function (chunk, flush)