Ir para o conteúdo

Módulo:Erro

De Wiki TokuDrive

-- Este módulo implementa {{#invoke:Erro| error | tag= |{{{1}}}}}.

local p = {}

function p._error(args)

   local tag = mw.ustring.lower(tostring(args.tag))
   -- Descobre qual marcação ('tag') de linguagem de marcação de hipertexto ('html') devemos usar.
   if not (tag == 'p' or tag == 'span' or tag == 'div') then
       tag = 'strong'
   end
   -- Gera a linguagem de marcação de hipertexto ('html').
   return tostring(mw.html.create(tag)
       :addClass('error')

:cssText(args.style)

       :wikitext(tostring(args.message or args[1] or error('nenhuma mensagem especificada', 2)))
   )

end

function p.error(frame)

   local args
   if type(frame.args) == 'table' then
       -- Nós estamos sendo chamados via #invoke. Os argumentos ('args') são passados para o módulo
       -- a partir da página da predefinição, portanto, usa os argumentos ('args') que foram passados para a predefinição.
       args = frame.args
   else
       -- Nós estamos sendo chamados a partir de outro módulo ou do console de depuração, então assume que
       -- os argumentos ('args') são passados diretamente.
       args = frame
   end
   -- se o parâmetro "message" estiver presente, mas em branco, altera-o para "nil" para que Lua
    -- considere-o como falso ('false').
   if args.message == "" then
       args.message = nil
   end
   return p._error(args)

end

return p