Изменения от Главреда ГитЖС | Changes of GitJS Glavred

This commit is contained in:
Главред | Glavred
2021-01-21 14:57:46 +03:00
parent c90ce995ce
commit 692a3a346a
3 changed files with 110 additions and 13 deletions

View File

@@ -5,6 +5,108 @@ const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/
// // // //
СохранитьМодулиПриложенияИзАрхива = мир =>
{
console.debug("сохранить модули приложения из архива");
var номер = 0;
const ук = мир.списокМодулейИзАрхива[номер];
const описание = мир.описанияМодулейИзАрхива[номер];
var список = Object.keys(описание.структура).sort();
console.debug("список", список);
var модуль =
new Модуль(
описание.имя,
описание.версия,
описание["🏠"],
указатель,
указатель + "/..",
описание.структура
);
модуль.содержимое = {};
function собратьМодуль(мир, список, номер, успех, провал)
{
const файл = список[номер];
var свойства = описание.структура[файл];
var тип = свойства.двоичный ? "arraybuffer" : "string";
var путь = `${номер}${файл}`;
console.debug("путь", путь);
мир.архив.file(путь).async(тип).then(function(содержимое) {
модуль.содержимое[файл] = содержимое;
успех();
});
}
сделатьПоследовательно(
мир,
список,
собратьМодуль,
function() {
//мир.уведомить("собрали содержимое модулей из архива");
//console.debug("описания", мир.описанияМодулейИзАрхива);
console.debug("собранный модуль", модуль);
}
);
};
// // // //
СобратьОписанияМодулейИзАрхива = мир =>
{
мир.описанияМодулейИзАрхива = [];
function собратьОписание(мир, список, номер, успех, провал)
{
const ук = список[номер];
var файл = `${номер}/0000`;
мир.архив.file(файл).async("string").then(function(содержимое) {
var описание = мир.разобрать0000(содержимое);
мир.описанияМодулейИзАрхива.push(описание);
успех();
});
}
сделатьПоследовательно(
мир,
мир.списокМодулейИзАрхива,
собратьОписание,
function() {
мир.уведомить("собрали описания модулей из архива");
console.debug("описания", мир.описанияМодулейИзАрхива);
}
);
};
// // // //
СобратьСписокМодулейИзАрхива = мир =>
{
мир.архив.file("gitjs").async("string").then(function(содержимое) {
var строки = содержимое.split(/\n/);
var список = [];
for (var н in строки)
{
var строка = строки[н];
if (строка.length)
{
список.push(строка);
}
}
мир.списокМодулейИзАрхива = список;
мир.уведомить("собрали список модулей из архива");
});
};
// // // //
УведомитьОЯкобыНаличииПриложения = мир =>
{
мир.уведомить("приложение присутствует");
@@ -14,20 +116,11 @@ const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/
// // // //
СохранитьМодулиПриложенияИзАрхива = мир =>
{
console.debug("сохранить модули приложения их архива");
};
// // // //
РазобратьАрхивПриложения = мир =>
{
var zip = new JSZip();
zip.loadAsync(мир.архивПриложения).then(function(архив) {
мир.архивПриложения = архив;
zip.loadAsync(мир.архив).then(function(архив) {
мир.архив = архив.folder("MAOH");
мир.уведомить("разобрали архив приложения");
});
};
@@ -42,7 +135,7 @@ const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/
мир.взять(
АДРЕС_АРХИВА,
function(содержимое) {
мир.архивПриложения = содержимое;
мир.архив = содержимое;
мир.уведомить("скачали архив приложения");
},
function(ошибка) {