переименовать 6.0 в 5.2

This commit is contained in:
2022-05-12 14:37:41 +03:00
parent 49be2c95d2
commit 10ce3ed32f
33 changed files with 4 additions and 4 deletions

View File

@@ -1,86 +0,0 @@
var мир = {};
мир.uuid = function()
{
// https://stackoverflow.com/a/2117523
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
/[xy]/g,
function(c)
{
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
}
);
};
мир.вZ64 = function(строка)
{
var байты = new TextEncoder("utf-8").encode(строка);
var архив = pako.deflate(байты, { to: 'string' });
return base64js.fromByteArray(архив);
};
мир.изZ64 = function(строка)
{
var архив = base64js.toByteArray(строка);
var байты = pako.inflate(архив);
return new TextDecoder("utf-8").decode(байты);
};
мир.задатьПолныйКлюч = function(словарь, полныйКлюч, значение) {
var путь = полныйКлюч.split(".");
var пройти = путь.length - 1;
var вложенность = словарь;
for (var номер = 0; номер < пройти; ++номер)
{
var ключ = путь[номер];
if (!(ключ in вложенность))
{
вложенность[ключ] = {};
вложенность = вложенность[ключ];
}
}
// Значение в конце вложенности.
var ключ = путь[пройти];
вложенность[ключ] = значение;
};
мир.назначитьКнопкамСобытия = function(события, список)
{
for (var номер in список)
{
const пара = список[номер];
var кнопка = document.getElementById(пара[0]);
кнопка.addEventListener("click", function(_) {
события.уведомить(пара[1]);
});
}
};
мир.параметрыЗапуска = function()
{
var параметры = {};
var запрос = window.location.search.substring(1);
var аргументы = запрос.split("&");
for (var номер in аргументы)
{
var арг = аргументы[номер];
var позицияЗнака = арг.indexOf("=");
// Лишь ключ.
if (позицияЗнака == -1)
{
var ключ = decodeURIComponent(арг);
параметры[ключ] = null;
}
// Ключ со значением.
else
{
var сыройКлюч = арг.slice(0, позицияЗнака);
var сыроеЗначение = арг.slice(позицияЗнака + 1);
var ключ = decodeURIComponent(сыройКлюч);
var значение = decodeURIComponent(сыроеЗначение);
параметры[ключ] = значение;
}
}
return параметры;
};

View File

@@ -1,36 +0,0 @@
function События(uuid)
{
this.создать = function()
{
this.обработчики = [];
this.обработчики = {};
};
this.подписать = function(обработчик, имя)
{
let указатель = имя || uuid();
this.обработчики[указатель] = обработчик;
};
this.отписать = function(обработчик) {
for (var указатель in this.обработчики) {
let обр = this.обработчики[указатель];
if (обр == обработчик)
{
delete this.обработчики[указатель];
return;
}
}
};
this.уведомить = function(событие) {
for (var номер in this.обработчики)
{
var обработчик = this.обработчики[номер];
обработчик.обработатьСобытие(событие);
}
};
// Конструктор.
this.создать();
}

View File

@@ -1,72 +0,0 @@
function Состояние()
{
this.создать = function()
{
this.обработчик = null;
this.значения = {};
};
this.выпрямить = function(obj)
{
// https://stackoverflow.com/a/42121920
var newObj = {};
for (var key in obj)
{
if (typeof obj[key] === 'object' && obj[key] !== null)
{
var temp = this.выпрямить(obj[key])
for (var key2 in temp)
{
newObj[key + "." + key2] = temp[key2];
}
}
else
{
newObj[key] = obj[key];
}
}
return newObj;
};
this.лишьНовыеЗначения = function(значения)
{
var новые = {};
for (var ключ in значения)
{
var было = this.значения[ключ];
var стало = значения[ключ];
if (!(было != null && было == стало))
{
новые[ключ] = стало;
}
}
return новые;
};
this.разобрать = function(словарь)
{
this.разобратьВыпрямленный(this.выпрямить(словарь));
};
this.разобратьВыпрямленный = function(выпрямленныйСловарь)
{
for (var ключ in выпрямленныйСловарь)
{
let путь = ключ.split(".");
let значение = выпрямленныйСловарь[ключ];
if (this.обработчик)
{
this.обработчик(ключ, путь, значение);
}
this.значения[ключ] = значение;
}
};
this.разобратьЛишьНовое = function(словарь)
{
this.разобратьВыпрямленный(this.лишьНовыеЗначения(this.выпрямить(словарь)));
};
// Конструктор.
this.создать();
}

View File

@@ -1,4 +0,0 @@
мир.разобрать = function(словарь)
{
мир.состояние.разобратьЛишьНовое(словарь);
};

View File

@@ -1 +0,0 @@
../../стороннее/base64-js

View File

@@ -1 +0,0 @@
../../стороннее/pako