Module:Utils: Difference between revisions
From Halopedia, the Halo wiki
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
-- Collect necessary information to display error | -- Collect necessary information to display error | ||
local args = select( 1, ... )[ 'args' ] | local args = select( 1, ... )[ 'args' ] | ||
local message = utils.defaultIfEmpty( args[1], 'There was an error with a template. Are the parameters all correct?' ) | local message = utils.defaultIfEmpty( tostring( args[1] ), 'There was an error with a template. Are the parameters all correct?' ) | ||
local etype = utils.defaultIfEmpty( args[2], 'Template' ) | local etype = utils.defaultIfEmpty( tostring( args[2] ), 'Template' ) | ||
local category = utils.defaultIfEmpty( args[3], 'Pages containing template errors' ) | local category = utils.defaultIfEmpty( tostring( args[3] ), 'Pages containing template errors' ) | ||
local template = utils.defaultIfEmpty( args[4], nil ) | local template = utils.defaultIfEmpty( tostring( args[4] ), nil ) | ||
-- Style data | -- Style data |
Revision as of 15:36, September 28, 2020
Documentation for this module may be created at ModuleDoc:Utils
local utils = {}
function utils.defaultIfEmpty( val, default )
if val == nil or val == '' or val == {} then
return default
else
return val
end
end
function utils.error( ... )
-- Collect necessary information to display error
local args = select( 1, ... )[ 'args' ]
local message = utils.defaultIfEmpty( tostring( args[1] ), 'There was an error with a template. Are the parameters all correct?' )
local etype = utils.defaultIfEmpty( tostring( args[2] ), 'Template' )
local category = utils.defaultIfEmpty( tostring( args[3] ), 'Pages containing template errors' )
local template = utils.defaultIfEmpty( tostring( args[4] ), nil )
-- Style data
etype = string.upper( etype )
-- Add a warning to the edit preview
if template == nil then
mw.addWarning( "'''" .. etype .. " ERROR:''' " .. message )
else
mw.addWarning( "'''" .. etype .. " ERROR:''' " .. message .. ' (Template name: "' .. template .. ')' )
end
-- Create and return the text to display on the page itself
return [[<span class="template-error" style="color: red;">''']]
.. etype
.. [[ ERROR:''' ]]
.. message
.. '</span> [[Category:'
.. category
.. ']]'
end
return utils