Module:ProcessArgs
Documentation
This module provides utilities for processing template arguments.
1. Function norm():
Cleans template arguments by removing empty values and trimming whitespace.
2. Function merge():
Combines current template parameters with parent template parameters.
Source
https://minecraft.wiki/w/Module:ProcessArgs
---
--- This module provides utilities for processing template arguments.
---
--- 1. Function norm():
--- Cleans template arguments by removing empty values and trimming whitespace.
--- Example: {{Template|a| |b| }} becomes {a="a", b="b"}
---
--- 2. Function merge():
--- Combines current template parameters with parent template parameters.
--- Example: Current template <code>{{Child|y=2}} + parent {{Parent|x=1}} = {y="2", x="1"}</code>
---
--- Source: https://minecraft.wiki/w/Module:ProcessArgs
---
local p = {}
-- 1. Function norm() ---
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
-- 2. Function merge() ---
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