Skip to content

Commit 3db5fdc

Browse files
authored
Merge pull request #734 from JayFate/master
fix: duplicate require DataLengthProbe, utils
2 parents 25d401e + e534454 commit 3db5fdc

File tree

2 files changed

+56
-58
lines changed

2 files changed

+56
-58
lines changed

lib/compressedObject.js

+15-16
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
var external = require("./external");
44
var DataWorker = require('./stream/DataWorker');
5-
var DataLengthProbe = require('./stream/DataLengthProbe');
65
var Crc32Probe = require('./stream/Crc32Probe');
76
var DataLengthProbe = require('./stream/DataLengthProbe');
87

@@ -28,14 +27,14 @@ CompressedObject.prototype = {
2827
* Create a worker to get the uncompressed content.
2928
* @return {GenericWorker} the worker.
3029
*/
31-
getContentWorker : function () {
30+
getContentWorker: function () {
3231
var worker = new DataWorker(external.Promise.resolve(this.compressedContent))
33-
.pipe(this.compression.uncompressWorker())
34-
.pipe(new DataLengthProbe("data_length"));
32+
.pipe(this.compression.uncompressWorker())
33+
.pipe(new DataLengthProbe("data_length"));
3534

3635
var that = this;
3736
worker.on("end", function () {
38-
if(this.streamInfo['data_length'] !== that.uncompressedSize) {
37+
if (this.streamInfo['data_length'] !== that.uncompressedSize) {
3938
throw new Error("Bug : uncompressed data size mismatch");
4039
}
4140
});
@@ -45,13 +44,13 @@ CompressedObject.prototype = {
4544
* Create a worker to get the compressed content.
4645
* @return {GenericWorker} the worker.
4746
*/
48-
getCompressedWorker : function () {
47+
getCompressedWorker: function () {
4948
return new DataWorker(external.Promise.resolve(this.compressedContent))
50-
.withStreamInfo("compressedSize", this.compressedSize)
51-
.withStreamInfo("uncompressedSize", this.uncompressedSize)
52-
.withStreamInfo("crc32", this.crc32)
53-
.withStreamInfo("compression", this.compression)
54-
;
49+
.withStreamInfo("compressedSize", this.compressedSize)
50+
.withStreamInfo("uncompressedSize", this.uncompressedSize)
51+
.withStreamInfo("crc32", this.crc32)
52+
.withStreamInfo("compression", this.compression)
53+
;
5554
}
5655
};
5756

@@ -65,11 +64,11 @@ CompressedObject.prototype = {
6564
*/
6665
CompressedObject.createWorkerFrom = function (uncompressedWorker, compression, compressionOptions) {
6766
return uncompressedWorker
68-
.pipe(new Crc32Probe())
69-
.pipe(new DataLengthProbe("uncompressedSize"))
70-
.pipe(compression.compressWorker(compressionOptions))
71-
.pipe(new DataLengthProbe("compressedSize"))
72-
.withStreamInfo("compression", compression);
67+
.pipe(new Crc32Probe())
68+
.pipe(new DataLengthProbe("uncompressedSize"))
69+
.pipe(compression.compressWorker(compressionOptions))
70+
.pipe(new DataLengthProbe("compressedSize"))
71+
.withStreamInfo("compression", compression);
7372
};
7473

7574
module.exports = CompressedObject;

lib/load.js

+41-42
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
var utils = require('./utils');
33
var external = require("./external");
44
var utf8 = require('./utf8');
5-
var utils = require('./utils');
65
var ZipEntries = require('./zipEntries');
76
var Crc32Probe = require('./stream/Crc32Probe');
87
var nodejsUtils = require("./nodejsUtils");
@@ -18,18 +17,18 @@ function checkEntryCRC32(zipEntry) {
1817
worker.on("error", function (e) {
1918
reject(e);
2019
})
21-
.on("end", function () {
22-
if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) {
23-
reject(new Error("Corrupted zip : CRC32 mismatch"));
24-
} else {
25-
resolve();
26-
}
27-
})
28-
.resume();
20+
.on("end", function () {
21+
if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) {
22+
reject(new Error("Corrupted zip : CRC32 mismatch"));
23+
} else {
24+
resolve();
25+
}
26+
})
27+
.resume();
2928
});
3029
}
3130

32-
module.exports = function(data, options) {
31+
module.exports = function (data, options) {
3332
var zip = this;
3433
options = utils.extend(options || {}, {
3534
base64: false,
@@ -44,39 +43,39 @@ module.exports = function(data, options) {
4443
}
4544

4645
return utils.prepareContent("the loaded zip file", data, true, options.optimizedBinaryString, options.base64)
47-
.then(function(data) {
48-
var zipEntries = new ZipEntries(options);
49-
zipEntries.load(data);
50-
return zipEntries;
51-
}).then(function checkCRC32(zipEntries) {
52-
var promises = [external.Promise.resolve(zipEntries)];
53-
var files = zipEntries.files;
54-
if (options.checkCRC32) {
46+
.then(function (data) {
47+
var zipEntries = new ZipEntries(options);
48+
zipEntries.load(data);
49+
return zipEntries;
50+
}).then(function checkCRC32(zipEntries) {
51+
var promises = [external.Promise.resolve(zipEntries)];
52+
var files = zipEntries.files;
53+
if (options.checkCRC32) {
54+
for (var i = 0; i < files.length; i++) {
55+
promises.push(checkEntryCRC32(files[i]));
56+
}
57+
}
58+
return external.Promise.all(promises);
59+
}).then(function addFiles(results) {
60+
var zipEntries = results.shift();
61+
var files = zipEntries.files;
5562
for (var i = 0; i < files.length; i++) {
56-
promises.push(checkEntryCRC32(files[i]));
63+
var input = files[i];
64+
zip.file(input.fileNameStr, input.decompressed, {
65+
binary: true,
66+
optimizedBinaryString: true,
67+
date: input.date,
68+
dir: input.dir,
69+
comment: input.fileCommentStr.length ? input.fileCommentStr : null,
70+
unixPermissions: input.unixPermissions,
71+
dosPermissions: input.dosPermissions,
72+
createFolders: options.createFolders
73+
});
74+
}
75+
if (zipEntries.zipComment.length) {
76+
zip.comment = zipEntries.zipComment;
5777
}
58-
}
59-
return external.Promise.all(promises);
60-
}).then(function addFiles(results) {
61-
var zipEntries = results.shift();
62-
var files = zipEntries.files;
63-
for (var i = 0; i < files.length; i++) {
64-
var input = files[i];
65-
zip.file(input.fileNameStr, input.decompressed, {
66-
binary: true,
67-
optimizedBinaryString: true,
68-
date: input.date,
69-
dir: input.dir,
70-
comment : input.fileCommentStr.length ? input.fileCommentStr : null,
71-
unixPermissions : input.unixPermissions,
72-
dosPermissions : input.dosPermissions,
73-
createFolders: options.createFolders
74-
});
75-
}
76-
if (zipEntries.zipComment.length) {
77-
zip.comment = zipEntries.zipComment;
78-
}
7978

80-
return zip;
81-
});
79+
return zip;
80+
});
8281
};

0 commit comments

Comments
 (0)