Content added Content deleted
mNo edit summary |
No edit summary |
||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local utilities = {} |
local utilities = {} |
||
⚫ | |||
function utilities.split(inputstr, sep) |
function utilities.split(inputstr, sep) |
||
return mw.text.split(inputstr, sep) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
function utilities.splitWithDelim(delim) |
|||
⚫ | |||
return function(str) |
|||
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do |
|||
⚫ | |||
table.insert(t, str) |
|||
⚫ | |||
⚫ | |||
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 |
||
function utilities.trim(str) |
function utilities.trim(str) |
||
return string.gsub(str, "^%s*(.-)%s*$") |
return string.gsub(str, "^%s*(.-)%s*$", "%1") |
||
end |
end |
||
function utilities.capitalize(str) |
function utilities.capitalize(str) |
||
return |
return mw.getContentLanguage():ucfirst(str) |
||
end |
end |
||
function utilities.array_index_of(arr, val) |
|||
for i,v in ipairs(arr) do |
|||
⚫ | |||
return i |
|||
end |
|||
⚫ | |||
return -1 |
|||
end |
|||
⚫ | |||
function utilities.table_concat(a, b) |
|||
⚫ | |||
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 |
return utilities |
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