Documentation for this module may be created at Module:Utilities/doc
local utilities = {}
function utilities.split(inputstr, sep)
return mw.text.split(inputstr, sep)
end
function utilities.splitWithDelim(delim)
return function(str)
if str == nil then
return nil
end
local list = mw.text.split(str, delim)
for i=1,#list do
list[i] = mw.text.trim(list[i])
end
return list
end
end
function utilities.trim(str)
return string.gsub(str, "^%s*(.-)%s*$", "%1")
end
function utilities.capitalize(str)
return mw.getContentLanguage():ucfirst(str)
end
function utilities.array_index_of(arr, val)
for i,v in ipairs(arr) do
if v == val then
return i
end
end
return -1
end
-- https://stackoverflow.com/questions/49907620/how-to-fuse-array-in-lua/49908683
function utilities.table_concat(a, b)
local result = {}
for k,v in pairs(a) do
result[k] = v
end
for k,v in pairs(b) do
result[k] = v
end
return result
end
function utilities.editIfNil(value, func)
if value and value ~= '' then
if func then
return func(value)
end
return value
end
return string.format(
"<span class=\"plainlinks\">[%s?action=edit ? (edit)]</span>",
tostring(mw.uri.fullUrl(mw.title.getCurrentTitle().text))
)
end
return utilities