make error messages more useful for nodebox lookups

This commit is contained in:
Tim 2015-01-23 21:51:29 +01:00
parent a97bbbc23e
commit 64a81ebf7a

View File

@ -21,14 +21,17 @@ homedecor.nodebox = {
local mt = {}
mt.__index = function(table, key)
local ref = homedecor.box[key]
if type(ref) == "function" then
local ref_type = type(ref)
if ref_type == "function" then
return function(...)
return { type = "fixed", fixed = ref(...) }
end
elseif type(ref) == "table" then
elseif ref_type == "table" then
return { type = "fixed", fixed = ref }
elseif ref_type == "nil" then
error(key .. "could not be found among nodebox presets and functions")
end
error("unexpected datatype " .. tostring(type(ref)))
error("unexpected datatype " .. tostring(type(ref)) .. " while looking for " .. key)
end
setmetatable(homedecor.nodebox, mt)