This commit is contained in:
NoryiE
2025-02-16 19:31:38 +00:00
parent dd6825f3b6
commit 056897dd1b
36 changed files with 1085 additions and 5065 deletions

View File

@@ -1,71 +1,12 @@
local floor, len = math.floor, string.len
## utils.copy()
local utils = {}
## utils.deepCopy()
function utils.getCenteredPosition(text, totalWidth, totalHeight)
local textLength = len(text)
## utils.getCenteredPosition()
local x = floor((totalWidth - textLength+1) / 2 + 0.5)
local y = floor(totalHeight / 2 + 0.5)
## utils.reverse()
return x, y
end
## utils.split()
function utils.deepCopy(obj)
if type(obj) ~= "table" then
return obj
end
## utils.uuid()
local copy = {}
for k, v in pairs(obj) do
copy[utils.deepCopy(k)] = utils.deepCopy(v)
end
return copy
end
function utils.copy(obj)
local new = {}
for k,v in pairs(obj)do
new[k] = v
end
return new
end
function utils.reverse(t)
local reversed = {}
for i = #t, 1, -1 do
table.insert(reversed, t[i])
end
return reversed
end
function utils.uuid()
return string.format('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
math.random(0, 0xffff), math.random(0, 0xffff), math.random(0, 0xffff),
math.random(0, 0x0fff) + 0x4000, math.random(0, 0x3fff) + 0x8000,
math.random(0, 0xffff), math.random(0, 0xffff), math.random(0, 0xffff))
end
function utils.split(str, sep)
local parts = {}
local start = 1
local len = len(str)
local splitIndex = 1
while true do
local index = str:find(sep, start, true)
if not index then
parts[splitIndex] = str:sub(start, len)
break
end
parts[splitIndex] = str:sub(start, index - 1)
start = index + 1
splitIndex = splitIndex + 1
end
return parts
end
return utils