48 lines
1.2 KiB
Lua
48 lines
1.2 KiB
Lua
--- Additional lua globals
|
|
-- @module globals
|
|
|
|
-- luacheck: globals prequire rawtostring inline_if serpent inspect semver
|
|
|
|
serpent = serpent or require('stdlib/utils/vendor/serpent')
|
|
inspect = inspect or require('stdlib/utils/vendor/inspect')
|
|
semver = semver or require('stdlib/utils/vendor/semver')
|
|
|
|
--- Require a file that may not exist
|
|
-- @tparam string module path to the module
|
|
-- @treturn mixed
|
|
function prequire(module)
|
|
local ok, err = pcall(require, module)
|
|
if ok then
|
|
return err
|
|
end
|
|
end
|
|
|
|
--- Temporarily removes __tostring handlers and calls tostring
|
|
-- @tparam mixed t object to call rawtostring on
|
|
-- @treturn string
|
|
function rawtostring(t)
|
|
local m = getmetatable(t)
|
|
if m then
|
|
local f = m.__tostring
|
|
m.__tostring = nil
|
|
local s = tostring(t)
|
|
m.__tostring = f
|
|
return s
|
|
else
|
|
return tostring(t)
|
|
end
|
|
end
|
|
|
|
--- Returns t if the expression is true. f if false
|
|
-- @tparam mixed exp The expression to evaluate
|
|
-- @tparam mixed t the true return
|
|
-- @tparam mixed f the false return
|
|
-- @treturn boolean
|
|
function inline_if(exp, t, f)
|
|
if exp then
|
|
return t
|
|
else
|
|
return f
|
|
end
|
|
end
|