Module:If empty: Difference between revisions
Content added Content deleted
Vivaporius (talk | contribs) (Created page with "local p = {} function p.main(frame) local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:If empty', removeBlanks = false}) -- For backwards compat...") |
Vivaporius (talk | contribs) m (1 revision imported) |
||
(4 intermediate revisions by 3 users not shown) | |||
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 |
||
Latest revision as of 04:14, 20 July 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.