35 lines
851 B
JavaScript
35 lines
851 B
JavaScript
var fs = require('graceful-fs');
|
|
|
|
var readdir = fs.readdir.bind(fs);
|
|
var readdirSync = fs.readdirSync.bind(fs);
|
|
|
|
module.exports = fs;
|
|
|
|
module.exports.readdir = function (dir, callback) {
|
|
fs.stat(dir, function (err, stats) {
|
|
if (err) return callback(err);
|
|
|
|
if (stats.isDirectory()) {
|
|
return readdir(dir, callback);
|
|
} else {
|
|
var error = new Error('ENOTDIR, not a directory \'' + dir + '\'');
|
|
error.code = 'ENOTDIR';
|
|
error.path = dir;
|
|
error.errono = -20;
|
|
return callback(error);
|
|
}
|
|
});
|
|
};
|
|
|
|
module.exports.readdirSync = function (dir) {
|
|
var stats = fs.statSync(dir);
|
|
|
|
if (stats.isDirectory()) {
|
|
return readdirSync(dir);
|
|
} else {
|
|
var error = new Error();
|
|
error.code = 'ENOTDIR';
|
|
throw error;
|
|
}
|
|
};
|