From ae717fe0357422ffbb2ee5793f90d6c8b0dfbf9a 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: Fri, 22 Jan 2021 15:22:40 +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 --- 0000 | 3 +- f.js | 35 +++++++++++++++++++++ 🗜️.js | 74 +++++++++++++++++++++++++------------------- 🗜️.череда | 8 +++-- 4 files changed, 85 insertions(+), 35 deletions(-) create mode 100644 f.js diff --git a/0000 b/0000 index 050e499..7e36b39 100644 --- a/0000 +++ b/0000 @@ -1,7 +1,8 @@ МАОН -1.0.4 +1.0.5 https://git.opengamestudio.org/MAOH/MAOH +x /f.js x /🔄.js /🔄.череда x /🗄️.js diff --git a/f.js b/f.js new file mode 100644 index 0000000..ebec0d1 --- /dev/null +++ b/f.js @@ -0,0 +1,35 @@ +собратьМодульИзАрхива = (мир, архив, номерМодуля, указатель, описание, готово) => +{ + var список = Object.keys(описание.структура).sort(); + var модуль = + new Модуль( + описание.имя, + описание.версия, + описание["🏠"], + указатель, + указатель + "/..", + описание.структура + ); + модуль.содержимое = {}; + + function собратьМодуль(мир, список, номер, успех, провал) + { + const файл = список[номер]; + var свойства = описание.структура[файл]; + var тип = свойства.двоичный ? "arraybuffer" : "string"; + var путь = `${номерМодуля}${файл}`; + архив.file(путь).async(тип).then(function(содержимое) { + модуль.содержимое[файл] = содержимое; + успех(); + }); + } + + мир.сделатьПоследовательно( + мир, + список, + собратьМодуль, + function() { + готово(модуль); + } + ); +}; diff --git a/🗜️.js b/🗜️.js index 9dc4a09..011b291 100644 --- a/🗜️.js +++ b/🗜️.js @@ -2,51 +2,61 @@ const АДРЕС_АРХИВА = "https://git.opengamestudio.org/kornerr/APXuB/ra const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/raw/branch/master/0000"; + // // // // -СохранитьМодулиПриложенияИзАрхива = мир => +СохранитьСобранныеМодули = мир => { - console.debug("сохранить модули приложения из архива"); - - var номер = 0; - const ук = мир.списокМодулейИзАрхива[номер]; - const описание = мир.описанияМодулейИзАрхива[номер]; - var список = Object.keys(описание.структура).sort(); - console.debug("список", список); + function сохранитьМодуль(мир, список, номер, успех, провал) + { + const ук = мир.списокМодулейИзАрхива[номер]; + мир.модули.сохранили.подписатьРаз(function() { + успех(); + }); + мир.модули.сохранить(ук); + } - var модуль = - new Модуль( - описание.имя, - описание.версия, - описание["🏠"], - указатель, - указатель + "/..", - описание.структура - ); - модуль.содержимое = {}; + сделатьПоследовательно( + мир, + мир.списокМодулейИзАрхива, + сохранитьМодуль, + function() { + мир.уведомить("сохранили собранные модули"); + } + ); +}; + + +// // // // + +СобратьМодулиПриложенияИзАрхива = мир => +{ function собратьМодуль(мир, список, номер, успех, провал) { - const файл = список[номер]; - var свойства = описание.структура[файл]; - var тип = свойства.двоичный ? "arraybuffer" : "string"; - var путь = `${номер}${файл}`; - console.debug("путь", путь); - мир.архив.file(путь).async(тип).then(function(содержимое) { - модуль.содержимое[файл] = содержимое; - успех(); - }); + const ук = мир.списокМодулейИзАрхива[номер]; + const оп = мир.описанияМодулейИзАрхива[номер]; + собратьМодульИзАрхива( + мир, + мир.архив, + номер, + ук, + оп, + function(модуль) { + мир.модули.модули[модуль.указатель] = модуль; + успех(); + } + ); } сделатьПоследовательно( мир, - список, + мир.списокМодулейИзАрхива, собратьМодуль, function() { - //мир.уведомить("собрали содержимое модулей из архива"); - //console.debug("описания", мир.описанияМодулейИзАрхива); - console.debug("собранный модуль", модуль); + console.debug("собрали модули приложения из архива"); + мир.уведомить("собрали модули приложения из архива"); } ); }; @@ -107,7 +117,7 @@ const КЛЮЧЕВОЙ_МОДУЛЬ = "https://git.opengamestudio.org/MAOH/CYMA/ // // // // -УведомитьОЯкобыНаличииПриложения = мир => +УведомитьОНаличииПриложения = мир => { мир.уведомить("приложение присутствует"); }; diff --git a/🗜️.череда b/🗜️.череда index 6fb9a3b..e66381d 100644 --- a/🗜️.череда +++ b/🗜️.череда @@ -3,7 +3,7 @@ приложение отсутствует скачать архив приложения не скачали архив приложения - уведомить о якобы наличии приложения + уведомить о наличии приложения скачали архив приложения разобрать архив приложения разобрали архив приложения @@ -11,4 +11,8 @@ собрали список модулей из архива собрать описания модулей из архива собрали описания модулей из архива - сохранить модули приложения из архива \ No newline at end of file + собрать модули приложения из архива +собрали модули приложения из архива + сохранить собранные модули +сохранили собранные модули + уведомить о наличии приложения \ No newline at end of file