28 lines
685 B
Lua
28 lines
685 B
Lua
local Entry = {}
|
|
Entry.__index = Entry
|
|
|
|
-- TODO: Can we / should we make it so that "display" and "ordinal" are just values, instead of functions.
|
|
-- It seems like that's what you'd want... No need to call the functions a million times.
|
|
|
|
-- Pass in a table, that contains some state
|
|
-- Table determines it's ordinal value
|
|
function Entry:new(line_or_obj)
|
|
if type(line_or_obj) == "string" then
|
|
return setmetatable({
|
|
valid = line_or_obj ~= "",
|
|
|
|
value = line_or_obj,
|
|
ordinal = line_or_obj,
|
|
display = line_or_obj,
|
|
}, self)
|
|
else
|
|
return line_or_obj
|
|
end
|
|
end
|
|
|
|
function Entry:__tostring()
|
|
return "<" .. self.display .. ">"
|
|
end
|
|
|
|
return Entry
|