diff --git a/imports/callback/client.lua b/imports/callback/client.lua index de5cd14..c25479e 100644 --- a/imports/callback/client.lua +++ b/imports/callback/client.lua @@ -26,9 +26,9 @@ end ---@param _ any ---@param event string ---@param delay number ----@param cb function ----@param ... unknown ----@return unknown +---@param cb function|false +---@param ... any +---@return unknown? local function triggerServerCallback(_, event, delay, cb, ...) if not eventTimer(event, delay) then return end @@ -40,6 +40,7 @@ local function triggerServerCallback(_, event, delay, cb, ...) TriggerServerEvent(cbEvent:format(event), cache.resource, key, ...) + ---@type promise | false local promise = not cb and promise.new() events[key] = function(response) @@ -49,7 +50,7 @@ local function triggerServerCallback(_, event, delay, cb, ...) return promise:resolve(response) end - cb(table.unpack(response)) + return cb and cb(table.unpack(response)) end if promise then diff --git a/imports/callback/server.lua b/imports/callback/server.lua index 05dedb0..a02d624 100644 --- a/imports/callback/server.lua +++ b/imports/callback/server.lua @@ -9,9 +9,9 @@ end) ---@param _ any ---@param event string ---@param playerId number ----@param cb function ----@param ... unknown ----@return unknown +---@param cb function|false +---@param ... any +---@return unknown? local function triggerClientCallback(_, event, playerId, cb, ...) local key @@ -21,6 +21,7 @@ local function triggerClientCallback(_, event, playerId, cb, ...) TriggerClientEvent(cbEvent:format(event), playerId, cache.resource, key, ...) + ---@type promise | false local promise = not cb and promise.new() events[key] = function(response) @@ -30,7 +31,7 @@ local function triggerClientCallback(_, event, playerId, cb, ...) return promise:resolve(response) end - cb(table.unpack(response)) + return cb and cb(table.unpack(response)) end if promise then