Module:ProcessArgs: Difference between revisions
Jump to navigation
Jump to search
Merge is supposed to overwrite the direct args with the parent args. |
m 4 revisions imported |
||
(One intermediate revision by one other user not shown) | |||
Line 27: | Line 27: | ||
for k, v in pairs( origArgs ) do | for k, v in pairs( origArgs ) do | ||
v = mw.text.trim( tostring( v ) ) | v = mw.text.trim( tostring( v ) ) | ||
if not norm or | if not norm or v ~= '' then | ||
args[k] = v | args[k] = v | ||
end | end | ||
Line 34: | Line 34: | ||
for k, v in pairs( parentArgs ) do | for k, v in pairs( parentArgs ) do | ||
v = mw.text.trim( v ) | v = mw.text.trim( v ) | ||
if not norm or | if not norm or v ~= '' then | ||
args[k] = v | args[k] = v | ||
end | end |
Latest revision as of 07:52, 4 July 2024
Documentation for this module may be created at Module:ProcessArgs/doc
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 v ~= '' then
args[k] = v
end
end
for k, v in pairs( parentArgs ) do
v = mw.text.trim( v )
if not norm or v ~= '' then
args[k] = v
end
end
return args
end
return p