From 692a3a346a82b2d2588c98885d4de550ba96c317 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=93=D0=BB=D0=B0=D0=B2=D1=80=D0=B5=D0=B4=20=7C=20Glavred?= Date: Thu, 21 Jan 2021 14:57:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BE=D1=82=20=D0=93=D0=BB=D0=B0=D0=B2=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=20=D0=93=D0=B8=D1=82=D0=96=D0=A1=20|=20Chang?= =?UTF-8?q?es=20of=20GitJS=20Glavred?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 🗜️.js | 107 ++++++++++++++++++++++++++++++++++++++++--- 🗜️.череда | 4 ++ 🙈.html | 2 +- 3 files changed, 105 insertions(+), 8 deletions(-) diff --git a/🗜️.js b/🗜️.js index be367f9..9dc4a09 100644 --- a/🗜️.js +++ b/🗜️.js @@ -5,18 +5,111 @@ 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("собранный модуль", модуль); + } + ); }; // // // // -СохранитьМодулиПриложенияИзАрхива = мир => +СобратьОписанияМодулейИзАрхива = мир => { - 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(строка); + } + } + мир.списокМодулейИзАрхива = список; + мир.уведомить("собрали список модулей из архива"); + }); +}; + + +// // // // + + +УведомитьОЯкобыНаличииПриложения = мир => +{ + мир.уведомить("приложение присутствует"); }; @@ -26,8 +119,8 @@ const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/ РазобратьАрхивПриложения = мир => { 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(ошибка) { diff --git a/🗜️.череда b/🗜️.череда index ab48451..6fb9a3b 100644 --- a/🗜️.череда +++ b/🗜️.череда @@ -7,4 +7,8 @@ скачали архив приложения разобрать архив приложения разобрали архив приложения + собрать список модулей из архива +собрали список модулей из архива + собрать описания модулей из архива +собрали описания модулей из архива сохранить модули приложения из архива \ No newline at end of file diff --git a/🙈.html b/🙈.html index d1dcece..8a1bbaf 100644 --- a/🙈.html +++ b/🙈.html @@ -3,6 +3,6 @@

Маджонг ⚬ 麻将 ⚬ Mahjong

🀄 МАОН

-

1.0.3

+

1.0.4