Files
AMYP/60🕸фс🕸.js

120 lines
3.8 KiB
JavaScript

ПерейтиВВыбраннуюЧастьДиректории = мир =>
{
const номер = мир.номерВыбраннойЧастиДиректории;
const части = мир.частиДиректории.slice(0, номер + 1);
мир.директория = части.join("/") + "/";
мир.уведомить("изменили директорию");
};
// // // //
РазбитьДиректориюНаЧасти = мир =>
{
var части = мир.директория.split(/\//);
// Убираем последнюю пустую строку.
части.pop();
мир.частиДиректории = части;
мир.уведомить("изменили части директории");
};
// // // //
УглубитьсяВВыбраннуюДиректорию = мир =>
{
const номер = мир.номерВыбранногоФайла;
const директория = мир.списокФайловТекущейДиректории[номер];
мир.директория = мир.директория + директория + "/";
мир.уведомить("изменили директорию");
};
// // // //
ОпределитьТипВыбранногоФайла = мир =>
{
const номер = мир.номерВыбранногоФайла;
const свойство = мир.свойстваФайловТекущейДиректории[номер];
if (свойство.isDirectory())
{
мир.уведомить("тип выбранного файла директория");
}
else
{
мир.уведомить("тип выбранного файла файл");
}
};
// // // //
ПолучитьСвойстваФайловТекущейДиректории = мир =>
{
const список = мир.списокФайловТекущейДиректории;
(async() => {
try
{
var свойстваФайлов = [];
for (var н in список)
{
const имя = список[н];
const путь = мир.директория + имя;
const свойства = await мир.фс.promises.stat(путь);
свойстваФайлов.push(свойства);
}
мир.свойстваФайловТекущейДиректории = свойстваФайлов;
мир.уведомить("получили свойства файлов текущей директории");
}
catch (ошибка)
{
мир.ошибкаОперацииФС = ошибка.code;
мир.уведомить("ошибка операции файловой системы");
}
})();
};
// // // //
ПолучитьСписокФайловТекущейДиректории = мир =>
{
(async() => {
try
{
const список = await мир.фс.promises.readdir(мир.директория);
мир.списокФайловТекущейДиректории = список;
мир.уведомить("получили список файлов текущей директории");
}
catch (ошибка)
{
мир.ошибкаОперацииФС = ошибка.code;
мир.уведомить("ошибка операции файловой системы");
}
})();
};
// // // //
ЗадатьТекущуюДиректориюКорнем = мир =>
{
мир.директория = "/";
мир.уведомить("изменили директорию");
};
// // // //
СоздатьФайловуюСистему = мир =>
{
мир.фс = new LightningFS("AMYP");
};