diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-11-16 01:59:39 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-11-16 02:00:31 +0100 |
commit | bd65bb67e25a79b019d745b7262b2008ce2adb15 (patch) | |
tree | 89e1b032103a63737f1a703e6a943832ef261704 /node_modules/adm-zip/util/utils.js | |
parent | f91466595b651721690133f58ab37f977539e95b (diff) |
incrementally verify denoms
The denominations are not stored in a separate object store.
Diffstat (limited to 'node_modules/adm-zip/util/utils.js')
-rw-r--r-- | node_modules/adm-zip/util/utils.js | 58 |
1 files changed, 56 insertions, 2 deletions
diff --git a/node_modules/adm-zip/util/utils.js b/node_modules/adm-zip/util/utils.js index b14db8c1c..528109845 100644 --- a/node_modules/adm-zip/util/utils.js +++ b/node_modules/adm-zip/util/utils.js @@ -2,7 +2,7 @@ var fs = require("fs"), pth = require('path');
fs.existsSync = fs.existsSync || pth.existsSync;
-
+
module.exports = (function() {
var crcTable = [],
@@ -81,7 +81,7 @@ module.exports = (function() { case Constants.DEFLATED:
return 'DEFLATED (' + method + ')';
default:
- return 'UNSUPPORTED (' + method + ')'
+ return 'UNSUPPORTED (' + method + ')';
}
},
@@ -116,6 +116,60 @@ module.exports = (function() { return true;
},
+ writeFileToAsync : function(/*String*/path, /*Buffer*/content, /*Boolean*/overwrite, /*Number*/attr, /*Function*/callback) {
+ if(typeof attr === 'function') {
+ callback = attr;
+ attr = undefined;
+ }
+
+ fs.exists(path, function(exists) {
+ if(exists && !overwrite)
+ return callback(false);
+
+ fs.stat(path, function(err, stat) {
+ if(exists &&stat.isDirectory()) {
+ return callback(false);
+ }
+
+ var folder = pth.dirname(path);
+ fs.exists(folder, function(exists) {
+ if(!exists)
+ mkdirSync(folder);
+
+ fs.open(path, 'w', 438, function(err, fd) {
+ if(err) {
+ fs.chmod(path, 438, function(err) {
+ fs.open(path, 'w', 438, function(err, fd) {
+ fs.write(fd, content, 0, content.length, 0, function(err, written, buffer) {
+ fs.close(fd, function(err) {
+ fs.chmod(path, attr || 438, function() {
+ callback(true);
+ })
+ });
+ });
+ });
+ })
+ } else {
+ if(fd) {
+ fs.write(fd, content, 0, content.length, 0, function(err, written, buffer) {
+ fs.close(fd, function(err) {
+ fs.chmod(path, attr || 438, function() {
+ callback(true);
+ })
+ });
+ });
+ } else {
+ fs.chmod(path, attr || 438, function() {
+ callback(true);
+ })
+ }
+ }
+ });
+ })
+ })
+ })
+ },
+
findFiles : function(/*String*/path) {
return findSync(path, true);
},
|