Modulo:Functions

El Vikipedio, la libera enciklopedio

Dokumentado por ĉi tiu modulo povas esti kreata ĉe Modulo:Functions/dokumentado

require('strict')

local p = {}

-- Ŝanĝas la unuan literon de la ĉeno al majuskla
-- @param ĉeno
-- @return ĉeno

function p.firstToUpper(str)
	return mw.ustring.upper(mw.ustring.sub(str, 1, 1)) .. mw.ustring.sub(str, 2)
end

-- Forigas malplenajn parametrojn de la tabelo
-- @param tabelo
-- @return tabelo

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

-- Determinas ĉu la tabelo estas malplena (havas neniujn aŭ malplenajn parametrojn)
-- @param tabelo
-- @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