162 lines
4.8 KiB
JavaScript
162 lines
4.8 KiB
JavaScript
СоздатьНовыйФайл = мир =>
|
|
{
|
|
(async() => {
|
|
try
|
|
{
|
|
await мир.фс.promises.writeFile(мир.новыйФайл, "");
|
|
мир.уведомить("создали новый файл");
|
|
}
|
|
catch (ошибка)
|
|
{
|
|
мир.ошибкаОперацииФС = ошибка.code;
|
|
мир.уведомить("ошибка операции файловой системы");
|
|
}
|
|
})();
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
ПерейтиВВыбраннуюЧастьДиректории = мир =>
|
|
{
|
|
const номер = мир.номерВыбраннойЧастиДиректории;
|
|
const части = мир.частиДиректории.slice(0, номер + 1);
|
|
мир.директория = части.join("/") + "/";
|
|
мир.уведомить("изменили директорию");
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
СоздатьНовуюДиректорию = мир =>
|
|
{
|
|
(async() => {
|
|
try
|
|
{
|
|
console.debug("mkdir", мир.новаяДиректория);
|
|
await мир.фс.promises.mkdir(мир.новаяДиректория);
|
|
мир.уведомить("создали новую директорию");
|
|
}
|
|
catch (ошибка)
|
|
{
|
|
мир.ошибкаОперацииФС = ошибка.code;
|
|
console.debug("ошибка фс новой дир", ошибка);
|
|
мир.уведомить("ошибка операции файловой системы");
|
|
}
|
|
})();
|
|
};
|
|
|
|
|
|
// // // //
|
|
|
|
|
|
РазбитьДиректориюНаЧасти = мир =>
|
|
{
|
|
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");
|
|
}; |