mirror of
https://port.numenaute.org/aleajactaest/khanat-code-old.git
synced 2024-12-21 16:28:43 +00:00
24 lines
649 B
Lua
24 lines
649 B
Lua
-- A reference id : object like a string but for reference ids
|
|
|
|
|
|
r2.RefIdMetatable =
|
|
{
|
|
__eq = function(op1, op2) return op1.Value == op2.Value end,
|
|
__le = function(op1, op2) return op1.Value <= op2.Value end,
|
|
__lt = function(op1, op2) return op1.Value < op2.Value end,
|
|
__tostring = function(op) return op.Value end
|
|
}
|
|
|
|
|
|
|
|
function r2.RefId(value)
|
|
assert(value ~= r2) -- in case of r2:RefId(value)
|
|
if value == nil then value = "" end
|
|
local refId = { Value = tostring(value) }
|
|
setmetatable(refId, r2.RefIdMetatable)
|
|
return refId
|
|
end
|
|
|
|
function r2.isRefId(value)
|
|
return type(value) == "table" and getmetatable(value) == r2.RefIdMetatable
|
|
end
|