ari.lt/content/js/helpers/index.js
2021-09-05 02:21:11 +03:00

54 lines
1.4 KiB
JavaScript

function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function add_boot_entry(entry_object) {
for (const entry in entry_object) {
if (do_sleep) {
let sleep_time;
if (typeof entry_object[entry]['sleep_time'] !== 'undefined') {
sleep_time = entry_object[entry]['sleep_time'];
} else {
sleep_time = Math.floor((Math.random() * 2000) + 500);
}
await sleep(sleep_time);
}
let new_entry = document.createElement('p');
new_entry.innerHTML = entry_object[entry]['text'];
new_entry.classList.add("bmsg")
let entry_class;
switch (entry_object[entry]['type']) {
case 'error':
entry_class = 'error';
break;
case 'warning':
entry_class = 'warn'
break;
case 'ok':
entry_class = 'ok'
break;
default:
throw `Type '${entry_object[entry]['type']}' not found.`;
}
new_entry.setAttribute("bmsg_type", entry_class);
boot.appendChild(new_entry);
}
}
function hash(string){
return string.split("").reduce(
function (a, b) {
a = ((a << 5) - a) + b.charCodeAt(0);
return a & a
}, 0);
}