From e534454c8d150d7a6e48dadb3d65afaf4be55bb9 Mon Sep 17 00:00:00 2001 From: pengjie <37610029@qq.com> Date: Thu, 14 Jan 2021 22:15:55 +0800 Subject: [PATCH] fix: duplicate require --- lib/compressedObject.js | 31 ++++++++------- lib/load.js | 83 ++++++++++++++++++++--------------------- 2 files changed, 56 insertions(+), 58 deletions(-) diff --git a/lib/compressedObject.js b/lib/compressedObject.js index d4a7f5e9..7b86a575 100644 --- a/lib/compressedObject.js +++ b/lib/compressedObject.js @@ -2,7 +2,6 @@ var external = require("./external"); var DataWorker = require('./stream/DataWorker'); -var DataLengthProbe = require('./stream/DataLengthProbe'); var Crc32Probe = require('./stream/Crc32Probe'); var DataLengthProbe = require('./stream/DataLengthProbe'); @@ -28,14 +27,14 @@ CompressedObject.prototype = { * Create a worker to get the uncompressed content. * @return {GenericWorker} the worker. */ - getContentWorker : function () { + getContentWorker: function () { var worker = new DataWorker(external.Promise.resolve(this.compressedContent)) - .pipe(this.compression.uncompressWorker()) - .pipe(new DataLengthProbe("data_length")); + .pipe(this.compression.uncompressWorker()) + .pipe(new DataLengthProbe("data_length")); var that = this; worker.on("end", function () { - if(this.streamInfo['data_length'] !== that.uncompressedSize) { + if (this.streamInfo['data_length'] !== that.uncompressedSize) { throw new Error("Bug : uncompressed data size mismatch"); } }); @@ -45,13 +44,13 @@ CompressedObject.prototype = { * Create a worker to get the compressed content. * @return {GenericWorker} the worker. */ - getCompressedWorker : function () { + getCompressedWorker: function () { return new DataWorker(external.Promise.resolve(this.compressedContent)) - .withStreamInfo("compressedSize", this.compressedSize) - .withStreamInfo("uncompressedSize", this.uncompressedSize) - .withStreamInfo("crc32", this.crc32) - .withStreamInfo("compression", this.compression) - ; + .withStreamInfo("compressedSize", this.compressedSize) + .withStreamInfo("uncompressedSize", this.uncompressedSize) + .withStreamInfo("crc32", this.crc32) + .withStreamInfo("compression", this.compression) + ; } }; @@ -65,11 +64,11 @@ CompressedObject.prototype = { */ CompressedObject.createWorkerFrom = function (uncompressedWorker, compression, compressionOptions) { return uncompressedWorker - .pipe(new Crc32Probe()) - .pipe(new DataLengthProbe("uncompressedSize")) - .pipe(compression.compressWorker(compressionOptions)) - .pipe(new DataLengthProbe("compressedSize")) - .withStreamInfo("compression", compression); + .pipe(new Crc32Probe()) + .pipe(new DataLengthProbe("uncompressedSize")) + .pipe(compression.compressWorker(compressionOptions)) + .pipe(new DataLengthProbe("compressedSize")) + .withStreamInfo("compression", compression); }; module.exports = CompressedObject; diff --git a/lib/load.js b/lib/load.js index 53cae42a..6ee19b47 100644 --- a/lib/load.js +++ b/lib/load.js @@ -2,7 +2,6 @@ var utils = require('./utils'); var external = require("./external"); var utf8 = require('./utf8'); -var utils = require('./utils'); var ZipEntries = require('./zipEntries'); var Crc32Probe = require('./stream/Crc32Probe'); var nodejsUtils = require("./nodejsUtils"); @@ -18,18 +17,18 @@ function checkEntryCRC32(zipEntry) { worker.on("error", function (e) { reject(e); }) - .on("end", function () { - if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) { - reject(new Error("Corrupted zip : CRC32 mismatch")); - } else { - resolve(); - } - }) - .resume(); + .on("end", function () { + if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) { + reject(new Error("Corrupted zip : CRC32 mismatch")); + } else { + resolve(); + } + }) + .resume(); }); } -module.exports = function(data, options) { +module.exports = function (data, options) { var zip = this; options = utils.extend(options || {}, { base64: false, @@ -44,39 +43,39 @@ module.exports = function(data, options) { } return utils.prepareContent("the loaded zip file", data, true, options.optimizedBinaryString, options.base64) - .then(function(data) { - var zipEntries = new ZipEntries(options); - zipEntries.load(data); - return zipEntries; - }).then(function checkCRC32(zipEntries) { - var promises = [external.Promise.resolve(zipEntries)]; - var files = zipEntries.files; - if (options.checkCRC32) { + .then(function (data) { + var zipEntries = new ZipEntries(options); + zipEntries.load(data); + return zipEntries; + }).then(function checkCRC32(zipEntries) { + var promises = [external.Promise.resolve(zipEntries)]; + var files = zipEntries.files; + if (options.checkCRC32) { + for (var i = 0; i < files.length; i++) { + promises.push(checkEntryCRC32(files[i])); + } + } + return external.Promise.all(promises); + }).then(function addFiles(results) { + var zipEntries = results.shift(); + var files = zipEntries.files; for (var i = 0; i < files.length; i++) { - promises.push(checkEntryCRC32(files[i])); + var input = files[i]; + zip.file(input.fileNameStr, input.decompressed, { + binary: true, + optimizedBinaryString: true, + date: input.date, + dir: input.dir, + comment: input.fileCommentStr.length ? input.fileCommentStr : null, + unixPermissions: input.unixPermissions, + dosPermissions: input.dosPermissions, + createFolders: options.createFolders + }); + } + if (zipEntries.zipComment.length) { + zip.comment = zipEntries.zipComment; } - } - return external.Promise.all(promises); - }).then(function addFiles(results) { - var zipEntries = results.shift(); - var files = zipEntries.files; - for (var i = 0; i < files.length; i++) { - var input = files[i]; - zip.file(input.fileNameStr, input.decompressed, { - binary: true, - optimizedBinaryString: true, - date: input.date, - dir: input.dir, - comment : input.fileCommentStr.length ? input.fileCommentStr : null, - unixPermissions : input.unixPermissions, - dosPermissions : input.dosPermissions, - createFolders: options.createFolders - }); - } - if (zipEntries.zipComment.length) { - zip.comment = zipEntries.zipComment; - } - return zip; - }); + return zip; + }); };