ПерезагрузитьПриложениеПослеОбновления = мир => { window.location.reload(false); }; // // // // УдалитьМодулиПриложенияПередОбновлением = мир => { var список = мир.списокМодулейПриложенияДляОбновления; for (var номер in список) { var указатель = список[номер]; localStorage.removeItem(указатель); } }; // // // // ПроверитьНаличиеМодулейПриложенияДляОбновления = мир => { if (мир.списокМодулейПриложенияДляОбновления.length) { мир.уведомить("присутствуют модули приложения для обновления"); } else { мир.уведомить("отсутствуют модули приложения для обновления"); } } // // // // СоставитьСписокМодулейПриложенияДляОбновления = мир => { var список = []; var описания = мир.описанияМодулейПриложения; for (var указатель in описания) { var описание = описания[указатель]; var модуль = мир.модули.модульПоУказателю(указатель); if ( модуль && модуль.версия != описание.версия ) { список.push(указатель); } } мир.списокМодулейПриложенияДляОбновления = список; }; // // // // УведомитьОбОтсутствииОбновленийПриложения = мир => { мир.уведомить("обновления приложения отсутствуют"); }; // // // // ЗагрузитьОписаниеВсехМодулейПриложения = мир => { var указатели = [УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ]; var м = мир.модули.модульПоУказателю(УКАЗАТЕЛЬ_ЭТОГО_МОДУЛЯ); var содержимое = м.содержимое["/📦"]; var строки = содержимое.split(/\n/); for (var номер in строки) { var строка = строки[номер]; if (!строка.startsWith("#") && строка.length) { указатели.push(строка); } } мир.описанияМодулейПриложения = []; function загрузитьОписание(мир, список, номер, успех, провал) { const указатель = список[номер]; мир.взять( указатель, function(содержимое) { var описание = мир.разобрать0000(содержимое); мир.описанияМодулейПриложения[указатель] = описание; успех(); }, function(ошибка) { провал(); } ); } сделатьПараллельно( мир, указатели, загрузитьОписание, function() { мир.уведомить("загрузили описание всех модулей приложения"); }, function() { мир.уведомить("не загрузили описание всех модулей приложения"); } ); };