From 124a5f15baf98ae12cc472fa9089c9b602aa8c6a Mon Sep 17 00:00:00 2001 From: Linden <65407488+thelindat@users.noreply.github.com> Date: Sun, 11 Dec 2022 12:39:40 +1100 Subject: [PATCH] refactor(imports/callback): response varargs Trying to have scrt compatible responses gets weird when using msgpack. --- imports/callback/client.lua | 11 ++++++----- imports/callback/server.lua | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) 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