Content added Content deleted
mNo edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
function utilities.split(inputstr, sep) |
function utilities.split(inputstr, sep) |
||
return mw.text.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 |
end |
||
Latest revision as of 07:10, 15 April 2022
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