diff --git a/imports/callback/client.lua b/imports/callback/client.lua index b24a4ec..f6dcead 100644 --- a/imports/callback/client.lua +++ b/imports/callback/client.lua @@ -43,15 +43,16 @@ local function triggerServerCallback(_, event, delay, cb, ...) ---@type promise | false local promise = not cb and promise.new() - events[key] = function(response) + events[key] = function(response, ...) + response = { response, ... } events[key] = nil if promise then - return promise:resolve(response and { msgpack.unpack(response) } or {}) + return promise:resolve(response) end - if cb and response then - cb(msgpack.unpack(response)) + if cb then + cb(table.unpack(response)) end end @@ -81,7 +82,7 @@ local function callbackResponse(success, result, ...) return false end - return msgpack.pack(result, ...) + return result, ... end local pcall = pcall diff --git a/imports/callback/server.lua b/imports/callback/server.lua index d8e85dd..7efadbd 100644 --- a/imports/callback/server.lua +++ b/imports/callback/server.lua @@ -24,15 +24,16 @@ local function triggerClientCallback(_, event, playerId, cb, ...) ---@type promise | false local promise = not cb and promise.new() - events[key] = function(response) + events[key] = function(response, ...) + response = { response, ... } events[key] = nil if promise then - return promise:resolve(response and { msgpack.unpack(response) } or {}) + return promise:resolve(response) end - if cb and response then - cb(msgpack.unpack(response)) + if cb then + cb(table.unpack(response)) end end @@ -62,7 +63,7 @@ local function callbackResponse(success, result, ...) return false end - return msgpack.pack(result, ...) + return result, ... end local pcall = pcall