Модуль:ProcessArgs — различия между версиями
Материал из Hilarious Wiki
MailGik (обсуждение | вклад) (Новая страница: «local p = {} function p.norm( origArgs ) if type( origArgs ) ~= 'table' then origArgs = mw.getCurrentFrame():getParent().args end local args = {} for k, v…») |
(нет различий)
|
Текущая версия на 00:25, 2 августа 2016
Для документации этого модуля может быть создана страница Модуль:ProcessArgs/док
local p = {}
function p.norm( origArgs )
if type( origArgs ) ~= 'table' then
origArgs = mw.getCurrentFrame():getParent().args
end
local args = {}
for k, v in pairs( origArgs ) do
v = mw.text.trim( tostring( v ) )
if v ~= '' then
args[k] = v
end
end
return args
end
function p.merge( origArgs, parentArgs, norm )
if type( origArgs ) ~= 'table' then
norm = origArgs
local f = mw.getCurrentFrame()
origArgs = f.args
parentArgs = f:getParent().args
end
local args = {}
for k, v in pairs( origArgs ) do
v = mw.text.trim( tostring( v ) )
if not norm or norm and v ~= '' then
args[k] = v
end
end
for k, v in pairs( parentArgs ) do
v = mw.text.trim( v )
if ( not norm or norm and v ~= '' ) and not args[k] then
args[k] = v
end
end
return args
end
return p