Documentation for this module may be created at Module:ModuleShowVariantsOrSingle/doc
------------------------------------
-- Modules can have variants, or they can be one of a kind.
-- It doesn't make sense to show all the variant fluff if a module is one of a kind.
local p = {}
local function moreThanOne(module_name)
local variants_chapter = "== Variants ==\n{{Template:ModuleTableCompareLevels|module_name=" .. module_name .. "}}\n\n"
local variant_details_chapter = "== Variant Details ==\n"
return variants_chapter .. variant_details_chapter
end
function p.processData(frame)
if frame.args.count == nil then
return "ERROR: Module:ModuleShowVariantsOrSingle not passed a count. Please tell us on Discord!"
end
local smw_count = tonumber(frame.args.count)
-- Count how many Template:ModuleUniqueDetails have been included as params
-- If this doesn't match how many SMW entries there are, someone screwed up data entry
local arg_count = 0
for k, v in pairs(frame.args) do
if v ~= '' then
arg_count = arg_count + 1
end
end
if arg_count ~= smw_count then
return "ERROR: The Module page template requires each module to be defined twice. Make sure you put it in both spots!"
end
local result = ""
if tonumber(frame.args.count) > 1 then
result = moreThanOne(frame.args.module_name)
end
return frame:preprocess(count)
end
return p