Fandom

Old School RuneScape Wiki

Module:Paramtest

15,969pages on
this wiki
Add New Page
Discuss0

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

--
-- Tests basic properties of parameters
--
 
local p = {}
 
--
-- Tests if the parameter is empty, all white space, or undefined
--
 
function p.is_empty(arg)
	return not arg or not arg:find('%S')
end
 
--
-- Returns the parameter if it has any content, the default (2nd param)
--
 
function p.default_to(param, default)
	if param and param:find('%S') then
		return param
	else
		return default
	end
end
 
--
-- Returns a list of paramaters if it has any content, or the default
--
function p.defaults(...)
	local ret = {}
	for i, v in ipairs(...) do
		if v[1] and v[1]:find('%S') then
			table.insert(ret,v[1])
		else
			-- or false, because nil is removed
			table.insert(ret,v[2] or false)
		end
	end
	return unpack(ret)
end
 
--
-- Tests if the parameter has content
-- The same as !is_empty, but this is more readily clear
--
 
function p.has_content(arg)
	return arg and arg:find('%S')
end
 
--
-- uppercases first letter
--
 
function p.ucfirst(arg)
	if not arg or arg:len() == 0 then
		return nil
	elseif arg:len() == 1 then
		return arg:upper()
	else
		return arg:sub(1,1):upper() .. arg:sub(2)
	end
end
 
--
-- uppercases first letter, lowercases everything else
--
 
function p.ucflc(arg)
	if not arg or arg:len() == 0 then
		return nil
	elseif arg:len() == 1 then
		return arg:upper()
	else
		return arg:sub(1,1):upper() .. arg:sub(2):lower()
	end
end
 
return p

Also on Fandom

Random Wiki