| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | "use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.readdir = exports.readdirWithFileTypes = exports.read = void 0;const fsStat = require("@nodelib/fs.stat");const constants_1 = require("../constants");const utils = require("../utils");const common = require("./common");function read(directory, settings) {    if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {        return readdirWithFileTypes(directory, settings);    }    return readdir(directory, settings);}exports.read = read;function readdirWithFileTypes(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 (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {            try {                const stats = settings.fs.statSync(entry.path);                entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);            }            catch (error) {                if (settings.throwErrorOnBrokenSymbolicLink) {                    throw error;                }            }        }        return entry;    });}exports.readdirWithFileTypes = readdirWithFileTypes;function readdir(directory, settings) {    const names = settings.fs.readdirSync(directory);    return names.map((name) => {        const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);        const stats = fsStat.statSync(entryPath, settings.fsStatSettings);        const entry = {            name,            path: entryPath,            dirent: utils.fs.createDirentFromStats(name, stats)        };        if (settings.stats) {            entry.stats = stats;        }        return entry;    });}exports.readdir = readdir;
 |