init
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
--Lua functions
|
||||
local pairs, type = pairs, type
|
||||
local setmetatable, getmetatable = setmetatable, getmetatable
|
||||
--WoW API / Variables
|
||||
|
||||
local function table_copy(t, deep, seen)
|
||||
if type(t) ~= "table" then return nil end
|
||||
|
||||
if not seen then
|
||||
seen = {}
|
||||
elseif seen[t] then
|
||||
return seen[t]
|
||||
end
|
||||
|
||||
local nt = {}
|
||||
for k, v in pairs(t) do
|
||||
if deep and type(v) == "table" then
|
||||
nt[k] = table_copy(v, deep, seen)
|
||||
else
|
||||
nt[k] = v
|
||||
end
|
||||
end
|
||||
|
||||
setmetatable(nt, table_copy(getmetatable(t), deep, seen))
|
||||
seen[t] = nt
|
||||
|
||||
return nt
|
||||
end
|
||||
|
||||
table.copy = table_copy
|
||||
Reference in New Issue
Block a user