Ir para o conteúdo

Módulo:GetParameters

De Wiki TokuDrive
Revisão de 06h28min de 5 de julho de 2026 por Tavoraadmin (discussão | contribs) (Importando predefinição/módulo da Wikipédia em português para manter layout)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

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