Scripts/resources/[custom_script]/aty_crew/ui/js/utils.js
2024-12-29 20:48:41 +01:00

43 lines
1.1 KiB
JavaScript

function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms))
}
function epochToDate(timestamp) {
const pad = (n, s = 2) => `${new Array(s).fill(0)}${n}`.slice(-s)
const date = new Date(parseInt((timestamp + "000").slice(0, 13)))
return `${pad(date.getDate())}/${pad(date.getMonth() + 1)}/${pad(date.getFullYear(), 4)}`
}
function isObject(object) {
return typeof object === "object"
}
function isObjectEmpty(object) {
return Object.keys(object).length == 0
}
function areObjectsEqual(obj1, obj2) {
if (!isObject(obj1) || !isObject(obj2)) return false
let props1 = Object.getOwnPropertyNames(obj1)
let props2 = Object.getOwnPropertyNames(obj2)
if (props1.length != props2.length) return false
for (let i = 0; i < props1.length; i++) {
let val1 = obj1[props1[i]]
let val2 = obj2[props1[i]]
let isObjects = isObject(val1) && isObject(val2)
if ((isObjects && !areObjectsEqual(val1, val2)) || (!isObjects && val1 !== val2)) return false
}
return true
}
function areArraysEqual(arr1, arr2) {
return JSON.stringify(arr1) == JSON.stringify(arr2)
}