Add files via upload

This commit is contained in:
JAlB- 2023-03-29 00:42:47 +03:00 committed by GitHub
parent 8efe971503
commit b97b706dfd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

112
web/lib/SednaLib.js Normal file
View File

@ -0,0 +1,112 @@
//======Sedna_lib v1.0.2
//======Author: JAlB (2021)
//======License: Beerware
/* ------- Сокращения ------ */
$d = document;
$w = window;
$b = $d.body;
function gebid(STR){ //get element by id
return $d.getElementById(STR);
}
function gebcn(STR){ //get elements by class name
return $d.getElementsByClassName(STR);
}
function qs(STR){ //Query selector
return $d.querySelector(STR);
}
function qsa(STR){ //Query selector all
return $d.querySelectorAll(STR);
}
/* --------- добавления к прототипам --------- */
HTMLElement.prototype.qs = function(STR){
return this.querySelector(STR);
}
HTMLElement.prototype.qsa = function(STR){
return this.querySelectorAll(STR);
}
Array.prototype.inArray = function(ARGUMENT){
if(this.indexOf(ARGUMENT) != -1){
return true;
}else{
return false;
}
}
/* --------- Полезные функции --------- */
Math.clamp = function(number, min, max) {//Ограничение диапазона
return Math.max(min, Math.min(number, max));
}
Math.intRandom = function(MIN, MAX) {//Целочисленный рандом
return Math.floor(Math.random() * (MAX - MIN + 1)) + MIN;
}
sleep = (m) => new Promise(r => setTimeout(r, m))//пауза выполнения вызывать через await
function isiframe(){
if ($w == $w.top) {
return false;
}else {
return true;
}
}
function lsGet(PROPERTY){ // запрос из локального хранилища
return $w.localStorage.getItem(PROPERTY);
}
function lsSet(PROPERTY, VALUE){ // запись в локальное хранилище
$w.localStorage.setItem(PROPERTY, VALUE);
}
function jsonEncode(OBJ){ // объект в строку
return JSON.stringify(OBJ);
}
function jsonDecode(STR){ // строку в объект
return JSON.parse(STR);
}
/* ------- OBJECT FUNCTIONS ------- */
function $Set(OBJ, SET){
for(var i in SET){
if((typeof(SET[i]) == "object") && !(SET[i] instanceof Element) && !(SET[i] instanceof Array)){
if (OBJ[i] == undefined) OBJ[i] = {};
$Set(OBJ[i], SET[i]);
} else {
OBJ[i] = SET[i];
}
}
}
function $SetAt(OBJ, SET){
for(var i in SET){
OBJ.setAttribute(i, SET[i]);
}
}
function $Create(TAG, SET){
if(SET.id == null || gebid(SET.id) == null){
var result = document.createElement(TAG);
$Set(result, SET);
return result;
} else {
console.error('$Create: Елемент '+SET.id+' уже существует');
return null;
}
}
function $Append(OBJ, PARENT){
PARENT.appendChild(OBJ);
}
function $Prepend(OBJ, FORWARD){
FORWARD.parentNode.insertBefore(OBJ, FORWARD);
}
function $Add(TAG, PARENT, SET){
var result = $Create(TAG, SET);
SET = null;
$Append(result, PARENT);
return result;
}