@nodelib/fs.scandir
Version:
List files and directories inside the specified directory
33 lines (32 loc) • 1.16 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.read = void 0;
const fsStat = require("@nodelib/fs.stat");
const utils = require("../utils");
const common = require("./common");
function read(directory, settings) {
const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });
return dirents.map((dirent) => {
const entry = {
dirent,
name: dirent.name,
path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator),
};
if (settings.stats) {
entry.stats = fsStat.statSync(entry.path, settings.fsStatSettings);
}
if (settings.followSymbolicLinks && entry.dirent.isSymbolicLink()) {
try {
const stats = entry.stats ?? settings.fs.statSync(entry.path);
entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
}
catch (error) {
if (settings.throwErrorOnBrokenSymbolicLink) {
throw error;
}
}
}
return entry;
});
}
exports.read = read;
;