Template repo for tiny cross-platform apps that can be modified on phone, tablet or computer.
1local utils = {}
2
3-- https://stackoverflow.com/questions/640642/how-do-you-copy-a-lua-table-by-value/26367080#26367080
4function utils.deepcopy(obj, seen)
5 if type(obj) ~= 'table' then return obj end
6 seen = seen or {}
7 if seen[obj] then return seen[obj] end
8 local result = setmetatable({}, getmetatable(obj))
9 seen[obj] = result
10 for k,v in pairs(obj) do
11 result[utils.deepcopy(k, seen)] = utils.deepcopy(v, seen)
12 end
13 return result
14end
15
16function utils.minmax(a, b)
17 return math.min(a,b), math.max(a,b)
18end
19
20function utils.width(s)
21 return love.graphics.getFont():getWidth(s)
22end
23
24return utils