Ir al contenido

Módulo:If empty

De Wikipedia, la enciclopedia libre
Este módulo no tiene página de documentación[crear]
local p = {}

function p.main(frame)
	local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Plantilla:If empty', removeBlanks = false})

	-- Por razones de compatibilidad con versiones anteriores, los primeros 8 parámetros se pueden desactivar en lugar de estar en blanco,
	-- aunque realmente no hay un caso de uso legítimo para esto. En algún momento, esto será eliminado.
	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
		if v ~= '' then
			if lowestNil < k then
				-- Si algún uso de esta plantilla depende del comportamiento anterior, agréguelos a una categoría de seguimiento.
				-- Esta es una forma bastante frágil y complicada de hacerlo, pero garantiza que la salida de este módulo no se modificará
				-- por esto.
				frame:extensionTag('ref', '[[Categoría:Wikipedia:Instancias de Plantilla:If_empty faltan argumentos]]', {group = 'TrackingCategory'})
				frame:extensionTag('references', '', {group = 'TrackingCategory'})
			end
			return v
		end
	end
end

return p