Moduuli:Check for missing parameters

Wikipediasta
Siirry navigaatioon Siirry hakuun

Tämän moduulin ohjeistuksen voi tehdä sivulle Moduuli:Check for missing parameters/ohje

-- This module may be used to compare the arguments passed to the parent
-- with a list of arguments, returning a specified result if an argument is
-- not on the list
local p = {}

local function trim(s)
	return s:match('^%s*(.-)%s*$')
end

local function isnotempty(s)
	return s and trim(s) ~= ''
end

function p.check (frame)
	local args = frame.args
	local pargs = frame:getParent().args

	local missingvalues = {}

	-- create the list of known args, regular expressions, and the return string
	for k, v in pairs(args) do
		if type(k) == 'number' then
			v = trim(v)
			if (pargs[v]==nil) then
				table.insert(missingvalues, v)
			end
		end
	end
	if (table.getn(missingvalues)>0) then
		return "Missing arguments: " .. 	mw.text.jsonEncode(missingvalues) 
	else
		return ""
	end
end

return p