Módulo:Traits
Ir a la navegación
Ir a la búsqueda
La documentación para este módulo puede ser creada en Módulo:Traits/doc
local p = { }
local traits = mw.loadData("Module:Traits/List");
local errorMsg = "'''Nombre de rasgo no válido. Revisa [[Module:Traits]] para más información.'''"
function p.getList ()
return traits
end
function p.isValid (frame)
local trait = frame.args[1] or frame.args["trait"]
for k, v in pairs(traits) do
if v["name"] == trait then
return 'true'
end
end
return 'false'
end
function p.isValidLocal (trait)
for k, v in pairs(traits) do
if v["name"] == trait then
return 'true'
end
end
return 'false'
end
function p.getTrait(frame)
local trait = frame.args[1] or frame.args["trait"]
for k, v in pairs(traits) do
if v["name"] == trait or k == trait then
return v
end
end
error("Rasgo no encontrado: " .. tostring(trait))
end
function p.getTraitID (frame)
local trait = frame.args[1] or frame.args["trait"]
for k, v in pairs(traits) do
if v["name"] == trait then
return k
end
end
end
function p.getTraitParamOrDefault (frame, param, valueIfEmpty)
local trait = p.getTrait(frame)
if trait == nil then
return errorMsg
end
if trait[param] == nil then
return param .. " is undefined for " .. trait["name"]
end
return trait[param] ~= "" and trait[param] or valueIfEmpty
end
function p.getDesc (frame)
return p.getTraitParamOrDefault(frame, "desc", "N/A")
end
function p.get(frame)
local parameter = frame.args[2] or frame.args["parameter"]
return p.getTraitParamOrDefault(frame, parameter, "N/A")
end
function p.getParam (frame)
local trait = p.getTrait(frame)
local param = frame.args[2] or frame.args["param"]
return trait[param]
end
return p