Module:Unsubst: Difference between revisions

242 bytes added ,  2 years ago
m
14 revisions imported from mw:Module:Unsubst: importing Unsubst module
(add parameter list, aliases, flags; use Module:Template invocation)
m (14 revisions imported from mw:Module:Unsubst: importing Unsubst module)
 
(3 intermediate revisions by 3 users not shown)
Line 79:
-- Trim parameters, if not specified otherwise
if not string.find( ','..(frame.args['$flags'] or '')..',', ',%s*keep%-whitespace%s*,' ) then
for k, v in pairs( args ) do args[k] = mw.ustring.match(v, '^%s*(.*)%s*$') or '' end
end
-- Remove empty parameters, if specified
if string.find( ','..(frame.args['$flags'] or '')..',', ',%s*remove%-empty%s*,' ) then
for k, v in pairs( args ) do
if v == '' then args[k] = nil end
end
end
 
Line 103 ⟶ 96:
end
args[k] = nil
end
 
-- Remove empty parameters, if specified
if string.find( ','..(frame.args['$flags'] or '')..',', ',%s*remove%-empty%s*,' ) then
local tmp = 0
for k, v in ipairs( args ) do
if v ~= '' or ( args[k+1] and args[k+1] ~= '' ) or ( args[k+2] and args[k+2] ~= '' ) then
tmp = k
else
break
end
end
for k, v in pairs( args ) do
if v == '' then
if vnot (type(k) == 'number' and k < tmp) then args[k] = nil end
end
end
end