typechecked optargs constructors for Sorter
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
---Generic class, useful for inheritence.
|
||||
---@class (exact) Class
|
||||
local Class = {}
|
||||
---@class (exact) ClassOld
|
||||
local ClassOld = {}
|
||||
|
||||
---@generic T
|
||||
---@param self T
|
||||
---@param o T|nil
|
||||
---@return T
|
||||
function Class:new(o)
|
||||
function ClassOld:new(o)
|
||||
o = o or {}
|
||||
|
||||
setmetatable(o, self)
|
||||
@@ -20,7 +20,7 @@ end
|
||||
---@generic T
|
||||
---@param class T
|
||||
---@return boolean
|
||||
function Class:is(class)
|
||||
function ClassOld:is(class)
|
||||
local mt = getmetatable(self)
|
||||
while mt do
|
||||
if mt == class then
|
||||
@@ -35,13 +35,13 @@ end
|
||||
---@generic T
|
||||
---@param class T
|
||||
---@return T|nil
|
||||
function Class:as(class)
|
||||
function ClassOld:as(class)
|
||||
return self:is(class) and self or nil
|
||||
end
|
||||
|
||||
-- avoid unused param warnings in abstract methods
|
||||
---@param ... any
|
||||
function Class:nop(...) --luacheck: ignore 212
|
||||
function ClassOld:nop(...) --luacheck: ignore 212
|
||||
end
|
||||
|
||||
return Class
|
||||
return ClassOld
|
||||
|
||||
Reference in New Issue
Block a user