Módulo:GetParameters

Fonte: Enciclopédia de conhecimento da Igreja de Deus
Saltar para a navegação Saltar para a pesquisa

A documentação para este módulo pode ser criada na página Módulo:GetParameters/doc

local p = {}
--[[
Função auxiliar que preenche a lista de argumentos, visto que o usuário pode precisar usar uma combinação de
parâmetros nomeados e sem nome. Isto é relevante porque os parâmetros nomeados não são
idênticos aos parâmetros sem nome devido ao corte de sequências (strings) e ao lidar com sequências (strings)
às vezes queremos preservar ou remover esse espaço em branco, dependendo da aplicação.
]]
function p.getParameters( frame_args, arg_list )
				local new_args = {};
				local index = 1;
				local value;
				
				for i,arg in ipairs( arg_list ) do
								value = frame_args[arg]
								if value == nil then
												value = frame_args[index];
												index = index + 1;
								end
								new_args[arg] = value;
				end
				
				return new_args;
end        
--[[
Função auxiliar para interpretar sequências (strings)  booleanas
]]
function p.getBoolean( boolean_str )
				local boolean_value;
				
				if type( boolean_str ) == 'string' then
								boolean_str = boolean_str:lower();
								if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0' 
																or boolean_str == '' then
												boolean_value = false;
								else
												boolean_value = true;
								end    
				elseif type( boolean_str ) == 'boolean' then
								boolean_value = boolean_str;
				else
								error( 'Nenhum valor booleano encontrado' );
				end    
				return boolean_value
end
function p.defined(frame)
	local arg = mw.text.trim(frame.args[1])
	--if arg == tostring(tonumber(arg)) then -- resultado indesejado para '-0'
	-- arg = tonumber(arg)
	--end
	--if mw.ustring.find(arg, '^%s*-?[1-9][0-9]*%s*$') ~= nil or arg == '0' then
	-- arg = tonumber(arg)
	--end
	if mw.ustring.find(arg, '^-?[1-9][0-9]*$') ~= nil then
		arg = tonumber(arg)
	elseif arg == '0' then
		arg = 0
	end
	return frame:getParent().args[arg] ~= nil
end
return p