Module:If empty: Difference between revisions
From Roses, Tulips, & Liberty
Content deleted Content added
m 1 revision imported |
update from sandbox, per Template talk:If empty#Backcompat |
||
Line 4: | Line 4: | ||
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}) |
||
local lastk = 0 |
|||
-- 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 |
||
lastk = k |
|||
end |
end |
||
end |
end |
||
Revision as of 04:38, 6 May 2022
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 depends on the following other modules: |
This module supports Template:If empty.