Испытания

Список файлов и директорий

JS: Асинхронное программирование

ls.js

Реализуйте и экспортируйте по умолчанию функцию, которая принимает на вход путь (абсолютный или относительный) и возвращает информацию о файлах и директориях, расположенных по этому пути. Данные возвращаются в виде массива объектов, где каждый элемент — это информация о конкретном файле: его путь и описание доступов (stat.mode). Объекты в массиве должны быть отсортированы по имени файла.

Примеры

import ls from '../ls.js';

await ls('/var');
// [
//   { filepath: '/var/local', mode: 17917 },
//   { filepath: '/var/lock', mode: 17407 },
//   { filepath: '/var/log', mode: 16877 },
// ];

await ls('/etc/passwd');
// [{ filepath: '/etc/passwd', mode: 33188 }];

await ls('../../../../etc/passwd');
// [{ filepath: '/etc/passwd', mode: 33188 }];

Эта функция должна уметь обрабатывать не только директории, но и файлы. В таком случае отдается массив с одним объектом — информацией по текущему файлу.

Подсказки

  • readdir() — чтение директории
  • stat() — информация о файле. isFile() — является ли файлом, mode - описание доступа.
Успешных завершений: 85%

Последние код-ревью

Автор Дата обновления Версий
x_phantom 24 июня, 17:37 2
mburdastyh 10 июня, 19:37 1
asmolko 03 июня, 12:26 1
berdnikovdima 25 мая, 14:34 2
ioann 22 мая, 17:44 2