Я могу позвонить
fs.readdirSync("C:\\", { withFileTypes: true })
и получить массив fs.Dirent
, но они выглядят как
> fs.readdirSync("C:\\", { withFileTypes: true })[32]
Dirent { name: 'Windows', [Symbol(type)]: 2 }
> fs.readdirSync("C:\\", { withFileTypes: true })[21]
Dirent { name: 'pagefile.sys', [Symbol(type)]: 1 }
> fs.readdirSync("C:\\", { withFileTypes: true })[10]
Dirent { name: 'Documents and Settings', [Symbol(type)]: 3 }
Так что есть имя и тип, но тип скрытпод Symbol (тип), и я не могу найти никакой информации, как получить его оттуда.
Конечно, я могу использовать хак, как
> x = fs.readdirSync("C:\\", { withFileTypes: true })[10]
Dirent { name: 'DoYourData iCloud Backup', [Symbol(type)]: 2 }
> x[Object.getOwnPropertySymbols(x)[0]]
3
Но это кажется странным.
Если он скрыт для цели, и нет ничего открытого, кроме имени, я не понимаю, почему у нас есть специальный флаг для получения объекта вместо простой строки.