minetest-quiz/defaults_table.lua

21 lines
472 B
Lua

-- merge defaults value to target table
local function defaults(target, default)
if not target then target = {} end
if not default then return target end
for k,v in pairs(default) do
local value = target[k]
if type(v) == "table" then
if type(value) ~= "table" then
value = {}
target[k] = value
end
defaults(value, v)
else
if (value == nil) then target[k] = v end
end
end
return target
end
return defaults