missing mkdirRecursive #89 #90
1 changed files with 33 additions and 0 deletions
|
|
@ -484,6 +484,39 @@ var mkdirSyncRecursive = function(path, mode) {
|
||||||
};
|
};
|
||||||
exports.mkdirSyncRecursive = mkdirSyncRecursive;
|
exports.mkdirSyncRecursive = mkdirSyncRecursive;
|
||||||
|
|
||||||
|
var mkdirRecursive = function(path, mode, clbk) {
|
||||||
|
var self = this;
|
||||||
|
path = _path.normalize(path)
|
||||||
|
|
||||||
|
fs.mkdir(path, mode, function (err) {
|
||||||
|
if (!err) {
|
||||||
|
clbk();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(err.code == "ENOENT") {
|
||||||
|
var slashIdx = path.lastIndexOf(_path.sep);
|
||||||
|
|
||||||
|
if(slashIdx > 0) {
|
||||||
|
var parentPath = path.substring(0, slashIdx);
|
||||||
|
mkdirRecursive(parentPath, mode, function (err) {
|
||||||
|
if (err) {
|
||||||
|
clbk(err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mkdirRecursive(path, mode, clbk);
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
clbk(err);
|
||||||
|
} else if(err.code == "EEXIST") {
|
||||||
|
clbk();
|
||||||
|
} else {
|
||||||
|
clbk(err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
exports.mkdirRecursive = mkdirRecursive;
|
||||||
|
|
||||||
exports.LineReader = function(filename, bufferSize) {
|
exports.LineReader = function(filename, bufferSize) {
|
||||||
this.bufferSize = bufferSize || 8192;
|
this.bufferSize = bufferSize || 8192;
|
||||||
this.buffer = "";
|
this.buffer = "";
|
||||||
|
|
|
||||||
Reference in a new issue