diff --git a/imports/callback/client.lua b/imports/callback/client.lua index 0e61f85..3f0d52b 100644 --- a/imports/callback/client.lua +++ b/imports/callback/client.lua @@ -74,6 +74,10 @@ lib.callback = setmetatable({}, { else local cbType = type(cb) + if cbType == 'table' and getmetatable(cb)?.__call then + cbType = 'function' + end + assert(cbType == 'function', ("expected argument 3 to have type 'function' (received %s)"):format(cbType)) end diff --git a/imports/callback/server.lua b/imports/callback/server.lua index 5309a4a..127c3bf 100644 --- a/imports/callback/server.lua +++ b/imports/callback/server.lua @@ -57,6 +57,10 @@ lib.callback = setmetatable({}, { else local cbType = type(cb) + if cbType == 'table' and getmetatable(cb)?.__call then + cbType = 'function' + end + assert(cbType == 'function', ("expected argument 3 to have type 'function' (received %s)"):format(cbType)) end