Fandom

Old School RuneScape Wiki

Module:Paramtest

16,281pages on
this wiki
Add New Page
Discuss0
--
-- 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

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.

Also on Fandom

Random Wiki