UNPKG

1.34 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const yauzl_1 = __importDefault(require("yauzl"));
7const get_stream_1 = __importDefault(require("get-stream"));
8async function readFilesFromZip(filename) {
9 const files = {};
10 await new Promise((resolve, reject) => {
11 const promises = [];
12 yauzl_1.default.open(filename, {}, (err, zipfile) => {
13 if (err || !zipfile)
14 return reject(err);
15 zipfile.on('entry', (entry) => {
16 promises.push(new Promise((res, rej) => {
17 if (entry.fileName.endsWith('/'))
18 return;
19 zipfile.openReadStream(entry, async (err, stream) => {
20 if (err || !stream)
21 return rej(err);
22 files[`/${entry.fileName}`] = await get_stream_1.default.buffer(stream);
23 res();
24 });
25 }));
26 });
27 zipfile.once('end', () => Promise.all(promises).then(resolve, reject));
28 });
29 });
30 return files;
31}
32exports.readFilesFromZip = readFilesFromZip;
33//# sourceMappingURL=utils.js.map
\No newline at end of file