mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-23 22:25:26 +00:00
Add 'invariant' function for debugging
This commit is contained in:
27
plugin/src/invariant.lua
Normal file
27
plugin/src/invariant.lua
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
local Config = require(script.Parent.Config)
|
||||||
|
|
||||||
|
local invariant
|
||||||
|
|
||||||
|
if Config.isDevBuild then
|
||||||
|
function invariant(message, ...)
|
||||||
|
message = string.format(message, ...)
|
||||||
|
|
||||||
|
error("Invariant violation: " .. message, 2)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
function invariant(message, ...)
|
||||||
|
message = string.format(message, ...)
|
||||||
|
|
||||||
|
local fullMessage = string.format(
|
||||||
|
"Rojo detected an invariant violation within itself:\n" ..
|
||||||
|
"%s\n\n" ..
|
||||||
|
"This is a bug in Rojo. Please file an issue:\n" ..
|
||||||
|
"https://github.com/rojo-rbx/rojo/issues",
|
||||||
|
message
|
||||||
|
)
|
||||||
|
|
||||||
|
error(fullMessage, 2)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return invariant
|
||||||
Reference in New Issue
Block a user