Files
Basalt2/docs/references/libraries/expect.md
2025-02-16 14:12:49 +00:00

35 lines
880 B
Markdown

local errorManager = require("errorManager")
-- Simple type checking without stack traces
local function expect(position, value, expectedType)
local valueType = type(value)
if expectedType == "element" then
if valueType == "table" and value.get("type") ~= nil then
return true
end
end
if expectedType == "color" then
if valueType == "number" and value >= 1 and value <= 32768 then
return true
end
if valueType == "string" and colors[value] then
return true
end
end
if valueType ~= expectedType then
errorManager.header = "Basalt Type Error"
errorManager.error(string.format(
"Bad argument #%d: expected %s, got %s",
position,
expectedType,
valueType
))
end
return true
end
return expect