From 5107345463be25bc471274bc82c503ba2acdf5b4 Mon Sep 17 00:00:00 2001 From: rebecca Date: Sat, 26 Sep 2026 21:46:41 +0100 Subject: class: add is(obj, cls) --- class.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'class.lua') diff --git a/class.lua b/class.lua index 22cf217..fda1e24 100644 --- a/class.lua +++ b/class.lua @@ -23,9 +23,20 @@ local function extend(Base) return T end +local function is(obj, cls) + if not type(obj) == 'table' then return false end + local mt = getmetatable(obj).__index + while mt do + if rawequal(cls, mt) then return true end + mt = (getmetatable(mt) or {}).__index + end + return false +end + return setmetatable({ class=class, - extend=extend + extend=extend, + is=is, },{__call=class}) -- cgit v1.2.3