From Seeds of the Word, the encyclopedia of the influence of the Gospel on culture
|
|
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}) |
|
| |
|
| -- For backwards compatibility reasons, the first 8 parameters can be unset instead of being blank,
| | local lastk = 0 |
| -- 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 |
|
| |
|
| return p | | return p |
Revision as of 04:38, May 6, 2022
Documentation for this module may be created at Module:If empty/doc
local p = {}
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:If empty', removeBlanks = false})
local lastk = 0
for k,v in ipairs(args) do
if v ~= '' then
return v
end
lastk = k
end
end
return p