Koha Test Wiki MW Canasta on Koha Portainer

Test major Koha Wiki changes or bug fixes here without fear of breaking the production wiki.

For the current Koha Wiki, visit https://wiki.koha-community.org .

Module:If empty/sandbox

From Koha Test Wiki MW Canasta on Koha Portainer
Jump to navigation Jump to search

Documentation for this module may be created at Module:If empty/sandbox/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

	-- 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.
	for i = lastk + 1, 9 do
		if args[i] and args[i] ~= '' 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'})

			return args[i]
		end
	end

end

return p