@rbxts/tether 1.2.8 → 1.2.9

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.
@@ -13,11 +13,11 @@ export declare class MessageEmitter<MessageData> extends Destroyable {
13
13
  private readonly clientFunctions;
14
14
  private readonly serverCallbacks;
15
15
  private readonly serverFunctions;
16
- private readonly clientQueue;
17
- private readonly clientBroadcastQueue;
18
- private readonly serverQueue;
19
16
  private readonly guards;
20
17
  private readonly serializers;
18
+ private serverQueue;
19
+ private clientBroadcastQueue;
20
+ private clientQueue;
21
21
  private serverEvents;
22
22
  private clientEvents;
23
23
  /** @metadata macro */
@@ -48,11 +48,11 @@ do
48
48
  self.clientFunctions = {}
49
49
  self.serverCallbacks = {}
50
50
  self.serverFunctions = {}
51
- self.clientQueue = {}
52
- self.clientBroadcastQueue = {}
53
- self.serverQueue = {}
54
51
  self.guards = {}
55
52
  self.serializers = {}
53
+ self.serverQueue = {}
54
+ self.clientBroadcastQueue = {}
55
+ self.clientQueue = {}
56
56
  self.server = {
57
57
  on = function(message, callback)
58
58
  if RunService:IsClient() then
@@ -83,6 +83,9 @@ do
83
83
  local _serverQueue = self.serverQueue
84
84
  local _arg0 = { message, newData, unreliable }
85
85
  table.insert(_serverQueue, _arg0)
86
+ if not self.options.batchRemotes then
87
+ self:update()
88
+ end
86
89
  end)
87
90
  end,
88
91
  invoke = TS.async(function(message, returnMessage, data, unreliable)
@@ -153,6 +156,9 @@ do
153
156
  local _clientQueue = self.clientQueue
154
157
  local _arg0 = { player, message, newData, unreliable }
155
158
  table.insert(_clientQueue, _arg0)
159
+ if not self.options.batchRemotes then
160
+ self:update()
161
+ end
156
162
  end)
157
163
  end,
158
164
  emitExcept = function(player, message, data, unreliable)
@@ -202,6 +208,9 @@ do
202
208
  local _clientBroadcastQueue = self.clientBroadcastQueue
203
209
  local _arg0 = { message, newData, unreliable }
204
210
  table.insert(_clientBroadcastQueue, _arg0)
211
+ if not self.options.batchRemotes then
212
+ self:update()
213
+ end
205
214
  end)
206
215
  end,
207
216
  invoke = TS.async(function(message, returnMessage, player, data, unreliable)
@@ -302,7 +311,7 @@ do
302
311
  end
303
312
  end
304
313
  function MessageEmitter:create(options, meta)
305
- local emitter = MessageEmitter.new(Object.assign({}, options, defaultMesssageEmitterOptions))
314
+ local emitter = MessageEmitter.new(Object.assign({}, defaultMesssageEmitterOptions, options))
306
315
  if meta == nil then
307
316
  warn(metaGenerationFailed)
308
317
  return emitter:initialize()
@@ -336,13 +345,19 @@ do
336
345
  end))
337
346
  end
338
347
  local elapsed = 0
339
- RunService.Heartbeat:Connect(function(dt)
348
+ local _binding = self.options
349
+ local batchRemotes = _binding.batchRemotes
350
+ local batchRate = _binding.batchRate
351
+ if not batchRemotes then
352
+ return self
353
+ end
354
+ self.janitor:Add(RunService.Heartbeat:Connect(function(dt)
340
355
  elapsed += dt
341
- if elapsed >= self.options.batchRate then
342
- elapsed -= self.options.batchRate
356
+ if elapsed >= batchRate then
357
+ elapsed -= batchRate
343
358
  self:update()
344
359
  end
345
- end)
360
+ end))
346
361
  return self
347
362
  end
348
363
  function MessageEmitter:update()
@@ -354,7 +369,7 @@ do
354
369
  local remote = if unreliable then self.serverEvents.sendUnreliableClientMessage else self.serverEvents.sendClientMessage
355
370
  remote(player, self:getPacket(message, data))
356
371
  end
357
- table.clear(self.clientQueue)
372
+ self.clientQueue = {}
358
373
  for _, _binding in self.clientBroadcastQueue do
359
374
  local message = _binding[1]
360
375
  local data = _binding[2]
@@ -362,7 +377,7 @@ do
362
377
  local remote = if unreliable then self.serverEvents.sendUnreliableClientMessage else self.serverEvents.sendClientMessage
363
378
  remote:broadcast(self:getPacket(message, data))
364
379
  end
365
- table.clear(self.clientBroadcastQueue)
380
+ self.clientBroadcastQueue = {}
366
381
  for _, _binding in self.serverQueue do
367
382
  local message = _binding[1]
368
383
  local data = _binding[2]
@@ -370,7 +385,7 @@ do
370
385
  local remote = if unreliable then self.clientEvents.sendUnreliableServerMessage else self.clientEvents.sendServerMessage
371
386
  remote(self:getPacket(message, data))
372
387
  end
373
- table.clear(self.serverQueue)
388
+ self.serverQueue = {}
374
389
  end
375
390
  function MessageEmitter:runClientMiddlewares(message, data, player)
376
391
  if not self:validateData(message, data) then
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/tether",
3
- "version": "1.2.8",
3
+ "version": "1.2.9",
4
4
  "main": "out/init.lua",
5
5
  "scripts": {
6
6
  "build": "rbxtsc",