Module:If empty: Difference between revisions
Content added Content deleted
Vivaporius (talk | contribs) m (1 revision imported) |
en>MSGJ (lastk is not needed) |
||
Line 3: | Line 3: | ||
function p.main(frame) |
function p.main(frame) |
||
local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:If empty', removeBlanks = false}) |
local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:If empty', removeBlanks = false}) |
||
-- For backwards compatibility reasons, the first 8 parameters can be unset instead of being blank, |
|||
-- even though there's really no legitimate use case for this. At some point, this will be removed. |
|||
local lowestNil = math.huge |
|||
for i = 8,1,-1 do |
|||
if args[i] == nil then |
|||
args[i] = '' |
|||
lowestNil = i |
|||
end |
|||
end |
|||
for k,v in ipairs(args) do |
for k,v in ipairs(args) do |
||
if v ~= '' then |
if v ~= '' then |
||
if lowestNil < k then |
|||
-- If any uses of this template depend on the behavior above, add them to a tracking category. |
|||
-- This is a rather fragile, convoluted, hacky way to do it, but it ensures that this module's output won't be modified |
|||
-- by it. |
|||
frame:extensionTag('ref', '[[Category:Instances of Template:If_empty missing arguments]]', {group = 'TrackingCategory'}) |
|||
frame:extensionTag('references', '', {group = 'TrackingCategory'}) |
|||
end |
|||
return v |
return v |
||
end |
end |
||
end |
end |
||
end |
end |
||
Revision as of 18:33, 26 January 2023
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
This module supports Template:If empty.