@rbxts/tether 1.3.19 → 1.3.22

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.
@@ -9,12 +9,12 @@ interface MessageEmitterOptions {
9
9
  export declare class MessageEmitter<MessageData> extends Destroyable {
10
10
  private readonly options;
11
11
  readonly middleware: MiddlewareProvider<MessageData>;
12
- private readonly clientCallbacks;
13
- private readonly clientFunctions;
14
- private readonly serverCallbacks;
15
- private readonly serverFunctions;
16
12
  private readonly guards;
17
- private readonly serializers;
13
+ private serializers;
14
+ private clientCallbacks;
15
+ private clientFunctions;
16
+ private serverCallbacks;
17
+ private serverFunctions;
18
18
  private serverQueue;
19
19
  private clientBroadcastQueue;
20
20
  private clientQueue;
@@ -67,12 +67,12 @@ do
67
67
  super.constructor(self)
68
68
  self.options = options
69
69
  self.middleware = MiddlewareProvider.new()
70
+ self.guards = {}
71
+ self.serializers = {}
70
72
  self.clientCallbacks = {}
71
73
  self.clientFunctions = {}
72
74
  self.serverCallbacks = {}
73
75
  self.serverFunctions = {}
74
- self.guards = {}
75
- self.serializers = {}
76
76
  self.serverQueue = {}
77
77
  self.clientBroadcastQueue = {}
78
78
  self.clientQueue = {}
@@ -274,10 +274,13 @@ do
274
274
  end)
275
275
  end,
276
276
  }
277
- self.janitor:Add(function()
278
- table.clear(self.clientCallbacks)
279
- table.clear(self.serverCallbacks)
280
- table.clear(self.serializers)
277
+ self.trash:add(function()
278
+ self.clientCallbacks = {}
279
+ self.serverCallbacks = {}
280
+ self.clientFunctions = {}
281
+ self.clientCallbacks = {}
282
+ self.serializers = {}
283
+ setmetatable(self, nil)
281
284
  end)
282
285
  end
283
286
  function MessageEmitter:create(options, meta)
@@ -301,22 +304,22 @@ do
301
304
  function MessageEmitter:initialize()
302
305
  setLuneContext("client")
303
306
  if RunService:IsClient() then
304
- self.janitor:Add(sendMessage.OnClientEvent:Connect(function(...)
307
+ self.trash:add(sendMessage.OnClientEvent:Connect(function(...)
305
308
  local serializedPacket = { ... }
306
309
  return self:onRemoteFire(false, serializedPacket)
307
310
  end))
308
- self.janitor:Add(sendUnreliableMessage.OnClientEvent:Connect(function(...)
311
+ self.trash:add(sendUnreliableMessage.OnClientEvent:Connect(function(...)
309
312
  local serializedPacket = { ... }
310
313
  return self:onRemoteFire(false, serializedPacket)
311
314
  end))
312
315
  end
313
316
  setLuneContext("server")
314
317
  if RunService:IsServer() then
315
- self.janitor:Add(sendMessage.OnServerEvent:Connect(function(player, ...)
318
+ self.trash:add(sendMessage.OnServerEvent:Connect(function(player, ...)
316
319
  local serializedPacket = { ... }
317
320
  return self:onRemoteFire(true, serializedPacket, player)
318
321
  end))
319
- self.janitor:Add(sendUnreliableMessage.OnServerEvent:Connect(function(player, ...)
322
+ self.trash:add(sendUnreliableMessage.OnServerEvent:Connect(function(player, ...)
320
323
  local serializedPacket = { ... }
321
324
  return self:onRemoteFire(true, serializedPacket, player)
322
325
  end))
@@ -328,7 +331,7 @@ do
328
331
  if not batchRemotes then
329
332
  return self
330
333
  end
331
- self.janitor:Add(RunService.Heartbeat:Connect(function(dt)
334
+ self.trash:add(RunService.Heartbeat:Connect(function(dt)
332
335
  elapsed += dt
333
336
  if elapsed < batchRate then
334
337
  return nil
package/out/structs.d.ts CHANGED
@@ -26,8 +26,16 @@ type ReplaceByMapWithDepth<T, Depth extends number = 24> = [
26
26
  } ? ReplaceByMapWithDepth<A, Prev[Depth]> : T extends {
27
27
  _set: [infer V];
28
28
  } ? Set<ReplaceByMapWithDepth<V, Prev[Depth]>> : T extends {
29
+ _set: infer T extends unknown[];
30
+ } ? Map<ReplaceByMapWithDepth<T[number], Prev[Depth]>, ReplaceByMapWithDepth<T[number], Prev[Depth]>> : T extends {
29
31
  _map: [infer K, infer V];
30
- } ? Map<ReplaceByMapWithDepth<K, Prev[Depth]>, ReplaceByMapWithDepth<V, Prev[Depth]>> : T extends u8 | u16 | u24 | u32 | i8 | i16 | i24 | i32 | f16 | f24 | f32 | f64 ? number : T extends any[] ? ReplaceByMapWithDepth<T[number], Prev[Depth]>[] : T extends ReadonlyMap<unknown, unknown> ? T : T extends object ? {
32
+ } ? Map<ReplaceByMapWithDepth<K, Prev[Depth]>, ReplaceByMapWithDepth<V, Prev[Depth]>> : T extends {
33
+ _map: [infer V];
34
+ } ? Map<ReplaceByMapWithDepth<V, Prev[Depth]>, ReplaceByMapWithDepth<V, Prev[Depth]>> : T extends u8 | u16 | u24 | u32 | i8 | i16 | i24 | i32 | f16 | f24 | f32 | f64 ? number : T extends Color3 ? {
35
+ R: number;
36
+ G: number;
37
+ B: number;
38
+ } : T extends any[] ? ReplaceByMapWithDepth<T[number], Prev[Depth]>[] : T extends ReadonlyMap<unknown, unknown> ? T : T extends object ? {
31
39
  [K in keyof T]: ReplaceByMapWithDepth<T[K], Prev[Depth]>;
32
40
  } : T;
33
41
  export interface MessageMetadata<MessageData, Kind extends keyof MessageData> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/tether",
3
- "version": "1.3.19",
3
+ "version": "1.3.22",
4
4
  "main": "out/init.luau",
5
5
  "scripts": {
6
6
  "setup-rokit": "rokit trust lune-org/lune && rokit trust rojo-rbx/rojo && rokit install",
@@ -35,16 +35,17 @@
35
35
  "@rbxts/types": "^1.0.856",
36
36
  "rbxts-transformer-flamework": "^1.3.1",
37
37
  "roblox-ts": "^3.0.0",
38
- "typescript": "^5.5.3",
39
- "ts-toolbelt": "^9.6.0"
38
+ "ts-toolbelt": "^9.6.0",
39
+ "typescript": "^5.5.3"
40
40
  },
41
41
  "dependencies": {
42
42
  "@flamework/core": "^1.3.1",
43
- "@rbxts/destroyable": "^1.0.1",
43
+ "@rbxts/destroyable": "^1.0.2",
44
44
  "@rbxts/flamework-meta-utils": "^1.0.6",
45
45
  "@rbxts/object-utils": "^1.0.4",
46
46
  "@rbxts/repr": "^1.0.1",
47
47
  "@rbxts/serio": "^1.0.18",
48
- "@rbxts/services": "^1.5.5"
48
+ "@rbxts/services": "^1.5.5",
49
+ "@rbxts/trash": "^1.0.1"
49
50
  }
50
51
  }