Module:Paramtest

-- -- Tests basic properties of parameters --

local p = {}

-- -- Tests if the parameter is empty, all white space, or undefined --

function p.is_empty( arg ) if not arg or not arg:find('%S') then return true end

return false 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

-- -- Tests if the parameter has content -- The same as !is_empty, but this is more readily clear --

function p.has_content( arg ) if not arg or not arg:find('%S') then return false end

return true 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