Jump to content

Module:For each named parameter

From bestpressey
Revision as of 13:00, 3 July 2026 by imported>MusikBot II (Protected "Module:For each named parameter": High-risk template or module: 333 transclusions (more info) ([Edit=Require autoconfirmed or confirmed access] (indefinite)))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:For each named parameter/doc

local p = {}

function p.main(frame) 
	local code = mw.text.unstripNoWiki(frame.args.code or frame.args[2])
	local results = {}
	local sep = frame.args[1] or ''
	for key, value in pairs(frame:getParent().args) do
		if type(key) ~= 'number' then
			local actualCode = code:gsub("{{{([^{}|]*)|?[^{}]*}}}", {name = key, value = value})
			local result = frame:getParent():preprocess(actualCode)
			if #result > 0 then
				table.insert(results, result)
			end
		end
	end
	return table.concat(results, sep)
end
return p