From 0c11e5675f9a0d4e263afed413aa656c20734f77 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 7 May 2014 10:41:44 +0100 Subject: Use jszip on server-side as well as browser-side --- lib/zipfile.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lib/zipfile.js (limited to 'lib/zipfile.js') diff --git a/lib/zipfile.js b/lib/zipfile.js new file mode 100644 index 0000000..2c004b7 --- /dev/null +++ b/lib/zipfile.js @@ -0,0 +1,27 @@ +var JSZip = require("jszip"); + +var promises = require("./promises"); + +exports.openArrayBuffer = openArrayBuffer; + +function openArrayBuffer(arrayBuffer) { + var zipFile = new JSZip(arrayBuffer); + function exists(name) { + return zipFile.file(name) !== null; + } + + function read(name, encoding) { + var array = zipFile.file(name).asUint8Array(); + var buffer = new Buffer(array); + if (encoding) { + return promises.when(buffer.toString(encoding)); + } else { + return promises.when(buffer); + } + } + return { + exists: exists, + read: read + }; +} + -- cgit v1.2.3