Module:Common
Jump to navigation
Jump to search
Additional functions that are common to other modules. Although they could be called into templates the overhead call into lua would generally greater than using a built in mediawiki parser function where one exists.
When calling in to another module, use local com = require( "Module:Common"). This will ensure consistency between modules.
local a = require('Module:Arguments')
local com = {}
function com.trim(object)
--Use of while instead of if incase multiple whitespaces are present.
if com.exists(object) then
while string.sub(object, 1, 1) == ' ' do
object = string.sub(object, 2)
end
while string.sub(object, string.len(object)) == ' ' do
object = string.sub(object, 1, string.len(object) - 1)
end
end
return object
end
function com.exists(object)
if object == nil or object == '' then
return false
else
return true
end
end
function com.modulePagename(title)
if not title then
title = mw.title.getCurrentTitle()
end
local disambig = string.find(title, '%(')
if string.sub(title, string.len(title)) == '%)' then
local check = disambig
while check do
local check = string.find(title, '%(', check + 1)
if check ~= 0 then
disambig = check
end
end
end
title = string.sub(title, 1, disambig)
return title
end
function com.pagename(frame)
local args = a.getArgs(frame)
return trim(com.modulePagename(args['title']))
end
return com