Moduuli:Check for missing parameters
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