require "Амодуль:No globals"
local p = {}
-- Изменяет первую букву строки на заглавную
-- @param строка
-- @return строка
function p.firstToUpper(str)
return mw.ustring.upper(mw.ustring.sub(str, 1, 1)) .. mw.ustring.sub(str, 2)
end
-- Удаляет пустые параметры из таблицы
-- @param табулица
-- @return табулица
function p.cleanArgs(args)
local cleanArgs = {}
for key, value in pairs(args) do
if type(value) == 'string' then
local value = mw.text.trim(value)
if value ~= '' then
cleanArgs[key] = value
end
elseif type(value) == 'table' then
if not p.isTableEmpty(value) then
cleanArgs[key] = value
end
else
cleanArgs[key] = value
end
end
return cleanArgs
end
-- Определяет, является ли таблица пустой (вообще не имеет или пустые параметры)
-- @param табулица
-- @return bool
function p.isTableEmpty(Table)
for key, value in pairs(Table) do
if type(value) == 'table' then
if not p.isTableEmpty(value) then
return false
end
elseif type(value) == 'string' then
if mw.text.trim(value) ~= '' then
return false
end
else
return false
end
end
return true
end
return p