Module:Used by
| Parameter | Output |
|---|---|
all{{Used by|all}} |
All classes |
all-except (max: 3){{Used by|all-except|Soldier|etc.}} |
All classes (except Soldier) All classes (except Soldier and Pyro) All classes (except Soldier, Pyro, and Engineer) |
classname (max: 5){{Used by|Soldier|etc.}} |
Soldier Soldier, Pyro Soldier, Pyro, Engineer Soldier, Pyro, Engineer, Demoman Soldier, Pyro, Engineer, Demoman, Heavy |
local p = {}
function common_string(args)
return mw.getCurrentFrame():expandTemplate{title='Common string', args=args}
end
function get_args(frame)
local args = {}
for _, arg in ipairs(frame.args) do
table.insert(args, arg)
end
if #args > 0 then return args end
for _, arg in ipairs(frame:getParent().args) do
table.insert(args, arg)
end
return args
end
function p.classes(frame)
local args = get_args(frame)
if args[1] == 'all' then
return common_string{'infobox-used-by-all'}
elseif args[1] == 'all-except' then
table.remove(args, 1) -- Remove the 'all-except' argument
assert(#args >= 1, "You must provide at least 1 class when using 'all-except'.")
assert(#args <= 3, "You must provide at most 3 classes when using 'all-except'.")
return common_string{'infobox-used-by-all-except-' .. #args, unpack(args)}
else
assert(#args >= 1, "You must provide at least 1 class when using this function.")
assert(#args <= 5, "You must provide at most 5 classes when using this function.")
return common_string{'infobox-used-by-' .. #args, unpack(args)}
end
end
return p