Files
AMYP/60🕸фс.js

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");
};