@rbxts/tether 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/message-emitter.d.ts +1 -1
- package/out/message-emitter.luau +55 -30
- package/package.json +1 -1
package/out/message-emitter.d.ts
CHANGED
|
@@ -23,7 +23,6 @@ export declare class MessageEmitter<MessageData> extends Destroyable {
|
|
|
23
23
|
* @returns A destructor function that disconnects the callback from the message
|
|
24
24
|
*/
|
|
25
25
|
onClientMessage<Kind extends keyof MessageData>(message: Kind & BaseMessage, callback: ClientMessageCallback<MessageData[Kind]>): () => void;
|
|
26
|
-
private on;
|
|
27
26
|
/**
|
|
28
27
|
* Emits a message to all connected clients
|
|
29
28
|
*
|
|
@@ -50,6 +49,7 @@ export declare class MessageEmitter<MessageData> extends Destroyable {
|
|
|
50
49
|
*/
|
|
51
50
|
emitAllClients<Kind extends keyof MessageData>(message: Kind & BaseMessage, data?: MessageData[Kind], unreliable?: boolean): void;
|
|
52
51
|
private initialize;
|
|
52
|
+
private on;
|
|
53
53
|
private getPacket;
|
|
54
54
|
/** @metadata macro */
|
|
55
55
|
private addSerializer;
|
package/out/message-emitter.luau
CHANGED
|
@@ -106,28 +106,6 @@ do
|
|
|
106
106
|
function MessageEmitter:onClientMessage(message, callback)
|
|
107
107
|
return self:on(message, callback)
|
|
108
108
|
end
|
|
109
|
-
function MessageEmitter:on(message, callback)
|
|
110
|
-
local callbacksMap = if RunService:IsServer() then self.serverCallbacks else self.clientCallbacks
|
|
111
|
-
local _message = message
|
|
112
|
-
if not (callbacksMap[_message] ~= nil) then
|
|
113
|
-
local _message_1 = message
|
|
114
|
-
callbacksMap[_message_1] = {}
|
|
115
|
-
end
|
|
116
|
-
local _message_1 = message
|
|
117
|
-
local callbacks = callbacksMap[_message_1]
|
|
118
|
-
local _callback = callback
|
|
119
|
-
callbacks[_callback] = true
|
|
120
|
-
local _message_2 = message
|
|
121
|
-
callbacksMap[_message_2] = callbacks
|
|
122
|
-
return function()
|
|
123
|
-
local _callback_1 = callback
|
|
124
|
-
-- ▼ Set.delete ▼
|
|
125
|
-
local _valueExisted = callbacks[_callback_1] ~= nil
|
|
126
|
-
callbacks[_callback_1] = nil
|
|
127
|
-
-- ▲ Set.delete ▲
|
|
128
|
-
return _valueExisted
|
|
129
|
-
end
|
|
130
|
-
end
|
|
131
109
|
function MessageEmitter:emitServer(message, data, unreliable)
|
|
132
110
|
if unreliable == nil then
|
|
133
111
|
unreliable = false
|
|
@@ -216,9 +194,17 @@ do
|
|
|
216
194
|
return nil
|
|
217
195
|
end
|
|
218
196
|
local serializer = self:getSerializer(sentMessage)
|
|
219
|
-
local
|
|
197
|
+
local _packet = serializer
|
|
198
|
+
if _packet ~= nil then
|
|
199
|
+
_packet = _packet.deserialize(serializedPacket.buffer, serializedPacket.blobs)
|
|
200
|
+
end
|
|
201
|
+
local packet = _packet
|
|
220
202
|
for callback in messageCallbacks do
|
|
221
|
-
|
|
203
|
+
local _result = packet
|
|
204
|
+
if _result ~= nil then
|
|
205
|
+
_result = _result.data
|
|
206
|
+
end
|
|
207
|
+
callback(_result)
|
|
222
208
|
end
|
|
223
209
|
end))
|
|
224
210
|
else
|
|
@@ -235,20 +221,59 @@ do
|
|
|
235
221
|
return nil
|
|
236
222
|
end
|
|
237
223
|
local serializer = self:getSerializer(sentMessage)
|
|
238
|
-
local
|
|
224
|
+
local _packet = serializer
|
|
225
|
+
if _packet ~= nil then
|
|
226
|
+
_packet = _packet.deserialize(serializedPacket.buffer, serializedPacket.blobs)
|
|
227
|
+
end
|
|
228
|
+
local packet = _packet
|
|
239
229
|
for callback in messageCallbacks do
|
|
240
|
-
|
|
230
|
+
local _exp = player
|
|
231
|
+
local _result = packet
|
|
232
|
+
if _result ~= nil then
|
|
233
|
+
_result = _result.data
|
|
234
|
+
end
|
|
235
|
+
callback(_exp, _result)
|
|
241
236
|
end
|
|
242
237
|
end))
|
|
243
238
|
end
|
|
244
239
|
return self
|
|
245
240
|
end
|
|
241
|
+
function MessageEmitter:on(message, callback)
|
|
242
|
+
local callbacksMap = if RunService:IsServer() then self.serverCallbacks else self.clientCallbacks
|
|
243
|
+
local _message = message
|
|
244
|
+
if not (callbacksMap[_message] ~= nil) then
|
|
245
|
+
local _message_1 = message
|
|
246
|
+
callbacksMap[_message_1] = {}
|
|
247
|
+
end
|
|
248
|
+
local _message_1 = message
|
|
249
|
+
local callbacks = callbacksMap[_message_1]
|
|
250
|
+
local _callback = callback
|
|
251
|
+
callbacks[_callback] = true
|
|
252
|
+
local _message_2 = message
|
|
253
|
+
callbacksMap[_message_2] = callbacks
|
|
254
|
+
return function()
|
|
255
|
+
local _callback_1 = callback
|
|
256
|
+
-- ▼ Set.delete ▼
|
|
257
|
+
local _valueExisted = callbacks[_callback_1] ~= nil
|
|
258
|
+
callbacks[_callback_1] = nil
|
|
259
|
+
-- ▲ Set.delete ▲
|
|
260
|
+
return _valueExisted
|
|
261
|
+
end
|
|
262
|
+
end
|
|
246
263
|
function MessageEmitter:getPacket(message, data)
|
|
247
264
|
local serializer = self:getSerializer(message)
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
265
|
+
if serializer ~= nil then
|
|
266
|
+
return serializer.serialize({
|
|
267
|
+
message = message,
|
|
268
|
+
data = data,
|
|
269
|
+
})
|
|
270
|
+
end
|
|
271
|
+
local buf = buffer.create(1)
|
|
272
|
+
buffer.writeu8(buf, 0, message)
|
|
273
|
+
return {
|
|
274
|
+
buffer = buf,
|
|
275
|
+
blobs = {},
|
|
276
|
+
}
|
|
252
277
|
end
|
|
253
278
|
function MessageEmitter:addSerializer(message, meta)
|
|
254
279
|
self.serializers[message] = self:createMessageSerializer(meta)
|