@axpecter/lync 1.4.1 → 1.5.0

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.
Files changed (52) hide show
  1. package/README.md +41 -2
  2. package/package.json +3 -2
  3. package/src/Types.luau +13 -1
  4. package/src/api/Group.luau +35 -28
  5. package/src/api/Namespace.luau +107 -89
  6. package/src/api/Packet.luau +69 -51
  7. package/src/api/Query.luau +101 -95
  8. package/src/api/Scope.luau +32 -18
  9. package/src/api/Signal.luau +78 -56
  10. package/src/codec/Base.luau +17 -17
  11. package/src/codec/composite/Array.luau +74 -74
  12. package/src/codec/composite/Map.luau +80 -80
  13. package/src/codec/composite/Optional.luau +14 -14
  14. package/src/codec/composite/Shared.luau +35 -35
  15. package/src/codec/composite/Struct.luau +108 -108
  16. package/src/codec/composite/Tagged.luau +71 -71
  17. package/src/codec/composite/Tuple.luau +35 -35
  18. package/src/codec/datatype/Buffer.luau +18 -18
  19. package/src/codec/datatype/CFrame.luau +24 -24
  20. package/src/codec/datatype/Color.luau +8 -12
  21. package/src/codec/datatype/Instance.luau +13 -13
  22. package/src/codec/datatype/IntVector.luau +17 -17
  23. package/src/codec/datatype/NumberRange.luau +7 -7
  24. package/src/codec/datatype/Ray.luau +16 -16
  25. package/src/codec/datatype/Rect.luau +13 -13
  26. package/src/codec/datatype/Region.luau +32 -36
  27. package/src/codec/datatype/Sequence.luau +41 -41
  28. package/src/codec/datatype/String.luau +28 -28
  29. package/src/codec/datatype/UDim.luau +17 -17
  30. package/src/codec/datatype/Vector.luau +14 -18
  31. package/src/codec/meta/Auto.luau +75 -73
  32. package/src/codec/meta/Bitfield.luau +46 -46
  33. package/src/codec/meta/Custom.luau +7 -7
  34. package/src/codec/meta/Enum.luau +25 -25
  35. package/src/codec/meta/Nothing.luau +3 -3
  36. package/src/codec/meta/Quantized.luau +63 -60
  37. package/src/codec/meta/Unknown.luau +11 -11
  38. package/src/codec/primitive/Bool.luau +12 -12
  39. package/src/codec/primitive/Float16.luau +28 -28
  40. package/src/codec/primitive/Number.luau +41 -41
  41. package/src/codec/primitive/Varint.luau +19 -19
  42. package/src/init.luau +81 -61
  43. package/src/internal/Baseline.luau +7 -7
  44. package/src/internal/Channel.luau +56 -56
  45. package/src/internal/Middleware.luau +29 -29
  46. package/src/internal/Pool.luau +15 -15
  47. package/src/internal/Registry.luau +19 -19
  48. package/src/transport/Bridge.luau +17 -17
  49. package/src/transport/Client.luau +46 -46
  50. package/src/transport/Gate.luau +56 -64
  51. package/src/transport/Reader.luau +34 -34
  52. package/src/transport/Server.luau +89 -89
@@ -1,25 +1,25 @@
1
1
  --!strict
2
2
  --!native
3
- -- Vector2int16 (4B) and Vector3int16 (6B) codecs.
3
+ -- Vector2int16(4B) and Vector3int16(6B) codecs.
4
4
 
5
- local Base = require (script.Parent.Parent.Base)
5
+ local Base = require(script.Parent.Parent.Base)
6
6
 
7
- return table.freeze ({
8
- vec2int16 = Base.define (4, function (b: buffer, o: number, v: Vector2int16): ()
9
- buffer.writei16 (b, o, v.X)
10
- buffer.writei16 (b, o + 2, v.Y)
11
- end, function (b: buffer, o: number): Vector2int16
12
- return Vector2int16.new (buffer.readi16 (b, o), buffer.readi16 (b, o + 2))
7
+ return table.freeze({
8
+ vec2int16 = Base.define(4, function(b: buffer, o: number, v: Vector2int16): ()
9
+ buffer.writei16(b, o, v.X)
10
+ buffer.writei16(b, o + 2, v.Y)
11
+ end, function(b: buffer, o: number): Vector2int16
12
+ return Vector2int16.new(buffer.readi16(b, o), buffer.readi16(b, o + 2))
13
13
  end),
14
- vec3int16 = Base.define (6, function (b: buffer, o: number, v: Vector3int16): ()
15
- buffer.writei16 (b, o, v.X)
16
- buffer.writei16 (b, o + 2, v.Y)
17
- buffer.writei16 (b, o + 4, v.Z)
18
- end, function (b: buffer, o: number): Vector3int16
19
- return Vector3int16.new (
20
- buffer.readi16 (b, o),
21
- buffer.readi16 (b, o + 2),
22
- buffer.readi16 (b, o + 4)
14
+ vec3int16 = Base.define(6, function(b: buffer, o: number, v: Vector3int16): ()
15
+ buffer.writei16(b, o, v.X)
16
+ buffer.writei16(b, o + 2, v.Y)
17
+ buffer.writei16(b, o + 4, v.Z)
18
+ end, function(b: buffer, o: number): Vector3int16
19
+ return Vector3int16.new(
20
+ buffer.readi16(b, o),
21
+ buffer.readi16(b, o + 2),
22
+ buffer.readi16(b, o + 4)
23
23
  )
24
24
  end),
25
25
  })
@@ -2,13 +2,13 @@
2
2
  --!native
3
3
  -- NumberRange codec. 8 bytes: min f32 + max f32.
4
4
 
5
- local Base = require (script.Parent.Parent.Base)
5
+ local Base = require(script.Parent.Parent.Base)
6
6
 
7
- return table.freeze ({
8
- numberRange = Base.define (8, function (b: buffer, o: number, v: NumberRange): ()
9
- buffer.writef32 (b, o, v.Min)
10
- buffer.writef32 (b, o + 4, v.Max)
11
- end, function (b: buffer, o: number): NumberRange
12
- return NumberRange.new (buffer.readf32 (b, o), buffer.readf32 (b, o + 4))
7
+ return table.freeze({
8
+ numberRange = Base.define(8, function(b: buffer, o: number, v: NumberRange): ()
9
+ buffer.writef32(b, o, v.Min)
10
+ buffer.writef32(b, o + 4, v.Max)
11
+ end, function(b: buffer, o: number): NumberRange
12
+ return NumberRange.new(buffer.readf32(b, o), buffer.readf32(b, o + 4))
13
13
  end),
14
14
  })
@@ -2,25 +2,25 @@
2
2
  --!native
3
3
  -- Ray codec. 24 bytes: origin vec3 + direction vec3.
4
4
 
5
- local Base = require (script.Parent.Parent.Base)
5
+ local Base = require(script.Parent.Parent.Base)
6
6
 
7
- return table.freeze ({
8
- ray = Base.define (24, function (b: buffer, o: number, v: Ray): ()
7
+ return table.freeze({
8
+ ray = Base.define(24, function(b: buffer, o: number, v: Ray): ()
9
9
  local origin = v.Origin
10
10
  local direction = v.Direction
11
- buffer.writef32 (b, o, origin.X)
12
- buffer.writef32 (b, o + 4, origin.Y)
13
- buffer.writef32 (b, o + 8, origin.Z)
14
- buffer.writef32 (b, o + 12, direction.X)
15
- buffer.writef32 (b, o + 16, direction.Y)
16
- buffer.writef32 (b, o + 20, direction.Z)
17
- end, function (b: buffer, o: number): Ray
18
- return Ray.new (
19
- Vector3.new (buffer.readf32 (b, o), buffer.readf32 (b, o + 4), buffer.readf32 (b, o + 8)),
20
- Vector3.new (
21
- buffer.readf32 (b, o + 12),
22
- buffer.readf32 (b, o + 16),
23
- buffer.readf32 (b, o + 20)
11
+ buffer.writef32(b, o, origin.X)
12
+ buffer.writef32(b, o + 4, origin.Y)
13
+ buffer.writef32(b, o + 8, origin.Z)
14
+ buffer.writef32(b, o + 12, direction.X)
15
+ buffer.writef32(b, o + 16, direction.Y)
16
+ buffer.writef32(b, o + 20, direction.Z)
17
+ end, function(b: buffer, o: number): Ray
18
+ return Ray.new(
19
+ Vector3.new(buffer.readf32(b, o), buffer.readf32(b, o + 4), buffer.readf32(b, o + 8)),
20
+ Vector3.new(
21
+ buffer.readf32(b, o + 12),
22
+ buffer.readf32(b, o + 16),
23
+ buffer.readf32(b, o + 20)
24
24
  )
25
25
  )
26
26
  end),
@@ -2,20 +2,20 @@
2
2
  --!native
3
3
  -- Rect codec. 16 bytes: 4x f32.
4
4
 
5
- local Base = require (script.Parent.Parent.Base)
5
+ local Base = require(script.Parent.Parent.Base)
6
6
 
7
- return table.freeze ({
8
- rect = Base.define (16, function (b: buffer, o: number, v: Rect): ()
9
- buffer.writef32 (b, o, v.Min.X)
10
- buffer.writef32 (b, o + 4, v.Min.Y)
11
- buffer.writef32 (b, o + 8, v.Max.X)
12
- buffer.writef32 (b, o + 12, v.Max.Y)
13
- end, function (b: buffer, o: number): Rect
14
- return Rect.new (
15
- buffer.readf32 (b, o),
16
- buffer.readf32 (b, o + 4),
17
- buffer.readf32 (b, o + 8),
18
- buffer.readf32 (b, o + 12)
7
+ return table.freeze({
8
+ rect = Base.define(16, function(b: buffer, o: number, v: Rect): ()
9
+ buffer.writef32(b, o, v.Min.X)
10
+ buffer.writef32(b, o + 4, v.Min.Y)
11
+ buffer.writef32(b, o + 8, v.Max.X)
12
+ buffer.writef32(b, o + 12, v.Max.Y)
13
+ end, function(b: buffer, o: number): Rect
14
+ return Rect.new(
15
+ buffer.readf32(b, o),
16
+ buffer.readf32(b, o + 4),
17
+ buffer.readf32(b, o + 8),
18
+ buffer.readf32(b, o + 12)
19
19
  )
20
20
  end),
21
21
  })
@@ -1,57 +1,53 @@
1
1
  --!strict
2
2
  --!native
3
- -- Region3 (24B) and Region3int16 (12B) codecs.
3
+ -- Region3(24B) and Region3int16(12B) codecs.
4
4
 
5
- local Base = require (script.Parent.Parent.Base)
5
+ local Base = require(script.Parent.Parent.Base)
6
6
 
7
- local function writeRegion3 (b: buffer, o: number, v: Region3): ()
7
+ local function writeRegion3(b: buffer, o: number, v: Region3): ()
8
8
  local cf = v.CFrame
9
9
  local size = v.Size
10
10
  local halfSize = size * 0.5
11
11
  local pos = cf.Position
12
12
  local minV = pos - halfSize
13
13
  local maxV = pos + halfSize
14
- buffer.writef32 (b, o, minV.X)
15
- buffer.writef32 (b, o + 4, minV.Y)
16
- buffer.writef32 (b, o + 8, minV.Z)
17
- buffer.writef32 (b, o + 12, maxV.X)
18
- buffer.writef32 (b, o + 16, maxV.Y)
19
- buffer.writef32 (b, o + 20, maxV.Z)
14
+ buffer.writef32(b, o, minV.X)
15
+ buffer.writef32(b, o + 4, minV.Y)
16
+ buffer.writef32(b, o + 8, minV.Z)
17
+ buffer.writef32(b, o + 12, maxV.X)
18
+ buffer.writef32(b, o + 16, maxV.Y)
19
+ buffer.writef32(b, o + 20, maxV.Z)
20
20
  end
21
21
 
22
- local function readRegion3 (b: buffer, o: number): Region3
23
- return Region3.new (
24
- Vector3.new (buffer.readf32 (b, o), buffer.readf32 (b, o + 4), buffer.readf32 (b, o + 8)),
25
- Vector3.new (
26
- buffer.readf32 (b, o + 12),
27
- buffer.readf32 (b, o + 16),
28
- buffer.readf32 (b, o + 20)
29
- )
22
+ local function readRegion3(b: buffer, o: number): Region3
23
+ return Region3.new(
24
+ Vector3.new(buffer.readf32(b, o), buffer.readf32(b, o + 4), buffer.readf32(b, o + 8)),
25
+ Vector3.new(buffer.readf32(b, o + 12), buffer.readf32(b, o + 16), buffer.readf32(b, o + 20))
30
26
  )
31
27
  end
32
28
 
33
- return table.freeze ({
34
- region3 = Base.define (24, writeRegion3, readRegion3),
35
- region3int16 = Base.define (12, function (b: buffer, o: number, v: Region3int16): ()
29
+ return table.freeze({
30
+ region3 = Base.define(24, writeRegion3, readRegion3),
31
+ region3int16 = Base.define(12, function(b: buffer, o: number, v: Region3int16): ()
36
32
  local minV = v.Min
37
33
  local maxV = v.Max
38
- buffer.writei16 (b, o, minV.X)
39
- buffer.writei16 (b, o + 2, minV.Y)
40
- buffer.writei16 (b, o + 4, minV.Z)
41
- buffer.writei16 (b, o + 6, maxV.X)
42
- buffer.writei16 (b, o + 8, maxV.Y)
43
- buffer.writei16 (b, o + 10, maxV.Z)
44
- end, function (b: buffer, o: number): Region3int16
45
- return Region3int16.new (
46
- Vector3int16.new (
47
- buffer.readi16 (b, o),
48
- buffer.readi16 (b, o + 2),
49
- buffer.readi16 (b, o + 4)
34
+ buffer.writei16(b, o, minV.X)
35
+ buffer.writei16(b, o + 2, minV.Y)
36
+ buffer.writei16(b, o + 4, minV.Z)
37
+ buffer.writei16(b, o + 6, maxV.X)
38
+ buffer.writei16(b, o + 8, maxV.Y)
39
+ buffer.writei16(b, o + 10, maxV.Z)
40
+ end, function(b: buffer, o: number): Region3int16
41
+ return Region3int16.new(
42
+ Vector3int16.new(
43
+ buffer.readi16(b, o),
44
+ buffer.readi16(b, o + 2),
45
+ buffer.readi16(b, o + 4)
50
46
  ),
51
- Vector3int16.new (
52
- buffer.readi16 (b, o + 6),
53
- buffer.readi16 (b, o + 8),
54
- buffer.readi16 (b, o + 10)
47
+ Vector3int16.new(
48
+ buffer.readi16(b, o + 6),
49
+ buffer.readi16(b, o + 8),
50
+ buffer.readi16(b, o + 10)
55
51
  )
56
52
  )
57
53
  end),
@@ -2,15 +2,15 @@
2
2
  --!native
3
3
  -- NumberSequence and ColorSequence codecs with varint length prefix.
4
4
 
5
- local Channel = require (script.Parent.Parent.Parent.internal.Channel)
6
- local Types = require (script.Parent.Parent.Parent.Types)
7
- local Varint = require (script.Parent.Parent.primitive.Varint)
5
+ local Channel = require(script.Parent.Parent.Parent.internal.Channel)
6
+ local Types = require(script.Parent.Parent.Parent.Types)
7
+ local Varint = require(script.Parent.Parent.primitive.Varint)
8
8
 
9
9
  type ChannelState = Types.ChannelState
10
10
 
11
11
  local alloc = Channel.alloc
12
12
 
13
- -- Constants ----------------------------------------------------------
13
+ -- Constants -----------------------------------------------------------
14
14
 
15
15
  local NS_STRIDE = 12
16
16
  local CS_STRIDE = 7
@@ -18,15 +18,15 @@ local CS_STRIDE = 7
18
18
  local round = math.round
19
19
  local clamp = math.clamp
20
20
 
21
- -- Public -------------------------------------------------------------
21
+ -- Public --------------------------------------------------------------
22
22
 
23
23
  local Sequence = {}
24
24
 
25
- Sequence.numberSequence = table.freeze ({
26
- write = function (ch: ChannelState, value: NumberSequence): ()
25
+ Sequence.numberSequence = table.freeze({
26
+ write = function(ch: ChannelState, value: NumberSequence): ()
27
27
  local keypoints = value.Keypoints
28
28
  local count = #keypoints
29
- Varint.write (ch, count)
29
+ Varint.write(ch, count)
30
30
 
31
31
  if count == 0 then
32
32
  return
@@ -35,47 +35,47 @@ Sequence.numberSequence = table.freeze ({
35
35
  local totalBytes = count * NS_STRIDE
36
36
  local c = ch.cursor
37
37
  if c + totalBytes > ch.size then
38
- alloc (ch, totalBytes)
38
+ alloc(ch, totalBytes)
39
39
  end
40
40
 
41
41
  local b = ch.buff
42
42
  for i = 1, count do
43
43
  local kp = keypoints[i]
44
- buffer.writef32 (b, c, kp.Time)
45
- buffer.writef32 (b, c + 4, kp.Value)
46
- buffer.writef32 (b, c + 8, kp.Envelope)
44
+ buffer.writef32(b, c, kp.Time)
45
+ buffer.writef32(b, c + 4, kp.Value)
46
+ buffer.writef32(b, c + 8, kp.Envelope)
47
47
  c += NS_STRIDE
48
48
  end
49
49
 
50
50
  ch.cursor = c
51
51
  end,
52
- read = function (src: buffer, pos: number, _refs: { Instance }?): (NumberSequence, number)
53
- local count, lenBytes = Varint.read (src, pos)
52
+ read = function(src: buffer, pos: number, _refs: { Instance }?): (NumberSequence, number)
53
+ local count, lenBytes = Varint.read(src, pos)
54
54
  local absPos = pos + lenBytes
55
55
 
56
56
  if count == 0 then
57
- return NumberSequence.new (0), lenBytes
57
+ return NumberSequence.new(0), lenBytes
58
58
  end
59
59
 
60
- local keypoints = table.create (count)
60
+ local keypoints = table.create(count)
61
61
  for i = 1, count do
62
- keypoints[i] = NumberSequenceKeypoint.new (
63
- buffer.readf32 (src, absPos),
64
- buffer.readf32 (src, absPos + 4),
65
- buffer.readf32 (src, absPos + 8)
62
+ keypoints[i] = NumberSequenceKeypoint.new(
63
+ buffer.readf32(src, absPos),
64
+ buffer.readf32(src, absPos + 4),
65
+ buffer.readf32(src, absPos + 8)
66
66
  )
67
67
  absPos += NS_STRIDE
68
68
  end
69
69
 
70
- return NumberSequence.new (keypoints), absPos - pos
70
+ return NumberSequence.new(keypoints), absPos - pos
71
71
  end,
72
72
  })
73
73
 
74
- Sequence.colorSequence = table.freeze ({
75
- write = function (ch: ChannelState, value: ColorSequence): ()
74
+ Sequence.colorSequence = table.freeze({
75
+ write = function(ch: ChannelState, value: ColorSequence): ()
76
76
  local keypoints = value.Keypoints
77
77
  local count = #keypoints
78
- Varint.write (ch, count)
78
+ Varint.write(ch, count)
79
79
 
80
80
  if count == 0 then
81
81
  return
@@ -84,45 +84,45 @@ Sequence.colorSequence = table.freeze ({
84
84
  local totalBytes = count * CS_STRIDE
85
85
  local c = ch.cursor
86
86
  if c + totalBytes > ch.size then
87
- alloc (ch, totalBytes)
87
+ alloc(ch, totalBytes)
88
88
  end
89
89
 
90
90
  local b = ch.buff
91
91
  for i = 1, count do
92
92
  local kp = keypoints[i]
93
93
  local color = kp.Value
94
- buffer.writef32 (b, c, kp.Time)
95
- buffer.writeu8 (b, c + 4, round (clamp (color.R, 0, 1) * 255))
96
- buffer.writeu8 (b, c + 5, round (clamp (color.G, 0, 1) * 255))
97
- buffer.writeu8 (b, c + 6, round (clamp (color.B, 0, 1) * 255))
94
+ buffer.writef32(b, c, kp.Time)
95
+ buffer.writeu8(b, c + 4, round(clamp(color.R, 0, 1) * 255))
96
+ buffer.writeu8(b, c + 5, round(clamp(color.G, 0, 1) * 255))
97
+ buffer.writeu8(b, c + 6, round(clamp(color.B, 0, 1) * 255))
98
98
  c += CS_STRIDE
99
99
  end
100
100
 
101
101
  ch.cursor = c
102
102
  end,
103
- read = function (src: buffer, pos: number, _refs: { Instance }?): (ColorSequence, number)
104
- local count, lenBytes = Varint.read (src, pos)
103
+ read = function(src: buffer, pos: number, _refs: { Instance }?): (ColorSequence, number)
104
+ local count, lenBytes = Varint.read(src, pos)
105
105
  local absPos = pos + lenBytes
106
106
 
107
107
  if count == 0 then
108
- return ColorSequence.new (Color3.new ()), lenBytes
108
+ return ColorSequence.new(Color3.new()), lenBytes
109
109
  end
110
110
 
111
- local keypoints = table.create (count)
111
+ local keypoints = table.create(count)
112
112
  for i = 1, count do
113
- keypoints[i] = ColorSequenceKeypoint.new (
114
- buffer.readf32 (src, absPos),
115
- Color3.fromRGB (
116
- buffer.readu8 (src, absPos + 4),
117
- buffer.readu8 (src, absPos + 5),
118
- buffer.readu8 (src, absPos + 6)
113
+ keypoints[i] = ColorSequenceKeypoint.new(
114
+ buffer.readf32(src, absPos),
115
+ Color3.fromRGB(
116
+ buffer.readu8(src, absPos + 4),
117
+ buffer.readu8(src, absPos + 5),
118
+ buffer.readu8(src, absPos + 6)
119
119
  )
120
120
  )
121
121
  absPos += CS_STRIDE
122
122
  end
123
123
 
124
- return ColorSequence.new (keypoints), absPos - pos
124
+ return ColorSequence.new(keypoints), absPos - pos
125
125
  end,
126
126
  })
127
127
 
128
- return table.freeze (Sequence)
128
+ return table.freeze(Sequence)
@@ -2,83 +2,83 @@
2
2
  --!native
3
3
  -- Variable-length string codec with varint length prefix.
4
4
 
5
- local Channel = require (script.Parent.Parent.Parent.internal.Channel)
6
- local Types = require (script.Parent.Parent.Parent.Types)
7
- local Varint = require (script.Parent.Parent.primitive.Varint)
5
+ local Channel = require(script.Parent.Parent.Parent.internal.Channel)
6
+ local Types = require(script.Parent.Parent.Parent.Types)
7
+ local Varint = require(script.Parent.Parent.primitive.Varint)
8
8
 
9
9
  type ChannelState = Types.ChannelState
10
10
 
11
11
  local alloc = Channel.alloc
12
12
 
13
- -- Public -------------------------------------------------------------
13
+ -- Public --------------------------------------------------------------
14
14
 
15
15
  local String = {}
16
16
 
17
- String.string = table.freeze ({
18
- write = function (ch: ChannelState, value: string): ()
17
+ String.string = table.freeze({
18
+ write = function(ch: ChannelState, value: string): ()
19
19
  local len = #value
20
20
 
21
21
  if len < 128 then
22
22
  local total = 1 + len
23
23
  local c = ch.cursor
24
24
  if c + total > ch.size then
25
- alloc (ch, total)
25
+ alloc(ch, total)
26
26
  end
27
27
  local b = ch.buff
28
- buffer.writeu8 (b, c, len)
28
+ buffer.writeu8(b, c, len)
29
29
  if len > 0 then
30
- buffer.writestring (b, c + 1, value)
30
+ buffer.writestring(b, c + 1, value)
31
31
  end
32
32
  ch.cursor = c + total
33
33
  else
34
- Varint.write (ch, len)
34
+ Varint.write(ch, len)
35
35
  local c = ch.cursor
36
36
  if c + len > ch.size then
37
- alloc (ch, len)
37
+ alloc(ch, len)
38
38
  end
39
- buffer.writestring (ch.buff, c, value)
39
+ buffer.writestring(ch.buff, c, value)
40
40
  ch.cursor = c + len
41
41
  end
42
42
  end,
43
- read = function (src: buffer, pos: number, _refs: { Instance }?): (string, number)
44
- local len, lenBytes = Varint.read (src, pos)
43
+ read = function(src: buffer, pos: number, _refs: { Instance }?): (string, number)
44
+ local len, lenBytes = Varint.read(src, pos)
45
45
  if len == 0 then
46
46
  return "", lenBytes
47
47
  end
48
48
 
49
- local remaining = buffer.len (src) - pos - lenBytes
49
+ local remaining = buffer.len(src) - pos - lenBytes
50
50
  if len > remaining then
51
- error (`[Lync] String length exceeds buffer: {len} > {remaining}`)
51
+ error(`[Lync] String length exceeds buffer: {len} > {remaining}`)
52
52
  end
53
53
 
54
- return buffer.readstring (src, pos + lenBytes, len), lenBytes + len
54
+ return buffer.readstring(src, pos + lenBytes, len), lenBytes + len
55
55
  end,
56
56
  })
57
57
 
58
- function String.bounded (maxLength: number): any
59
- if maxLength <= 0 or maxLength ~= math.floor (maxLength) then
60
- error (`[Lync] boundedString maxLength must be a positive integer, got {maxLength}`)
58
+ function String.bounded(maxLength: number): any
59
+ if maxLength <= 0 or maxLength ~= math.floor(maxLength) then
60
+ error(`[Lync] boundedString maxLength must be a positive integer, got {maxLength}`)
61
61
  end
62
62
 
63
- return table.freeze ({
63
+ return table.freeze({
64
64
  write = String.string.write,
65
- read = function (src: buffer, pos: number, _refs: { Instance }?): (string, number)
66
- local len, lenBytes = Varint.read (src, pos)
65
+ read = function(src: buffer, pos: number, _refs: { Instance }?): (string, number)
66
+ local len, lenBytes = Varint.read(src, pos)
67
67
  if len > maxLength then
68
- error (`[Lync] String length {len} exceeds max {maxLength}`)
68
+ error(`[Lync] String length {len} exceeds max {maxLength}`)
69
69
  end
70
70
  if len == 0 then
71
71
  return "", lenBytes
72
72
  end
73
73
 
74
- local remaining = buffer.len (src) - pos - lenBytes
74
+ local remaining = buffer.len(src) - pos - lenBytes
75
75
  if len > remaining then
76
- error (`[Lync] String length exceeds buffer: {len} > {remaining}`)
76
+ error(`[Lync] String length exceeds buffer: {len} > {remaining}`)
77
77
  end
78
78
 
79
- return buffer.readstring (src, pos + lenBytes, len), lenBytes + len
79
+ return buffer.readstring(src, pos + lenBytes, len), lenBytes + len
80
80
  end,
81
81
  })
82
82
  end
83
83
 
84
- return table.freeze (String)
84
+ return table.freeze(String)
@@ -1,27 +1,27 @@
1
1
  --!strict
2
2
  --!native
3
- -- UDim (8B) and UDim2 (16B) codecs.
3
+ -- UDim(8B) and UDim2(16B) codecs.
4
4
 
5
- local Base = require (script.Parent.Parent.Base)
5
+ local Base = require(script.Parent.Parent.Base)
6
6
 
7
- return table.freeze ({
8
- udim = Base.define (8, function (b: buffer, o: number, v: UDim): ()
9
- buffer.writef32 (b, o, v.Scale)
10
- buffer.writei32 (b, o + 4, v.Offset)
11
- end, function (b: buffer, o: number): UDim
12
- return UDim.new (buffer.readf32 (b, o), buffer.readi32 (b, o + 4))
7
+ return table.freeze({
8
+ udim = Base.define(8, function(b: buffer, o: number, v: UDim): ()
9
+ buffer.writef32(b, o, v.Scale)
10
+ buffer.writei32(b, o + 4, v.Offset)
11
+ end, function(b: buffer, o: number): UDim
12
+ return UDim.new(buffer.readf32(b, o), buffer.readi32(b, o + 4))
13
13
  end),
14
- udim2 = Base.define (16, function (b: buffer, o: number, v: UDim2): ()
14
+ udim2 = Base.define(16, function(b: buffer, o: number, v: UDim2): ()
15
15
  local x = v.X
16
16
  local y = v.Y
17
- buffer.writef32 (b, o, x.Scale)
18
- buffer.writei32 (b, o + 4, x.Offset)
19
- buffer.writef32 (b, o + 8, y.Scale)
20
- buffer.writei32 (b, o + 12, y.Offset)
21
- end, function (b: buffer, o: number): UDim2
22
- return UDim2.new (
23
- UDim.new (buffer.readf32 (b, o), buffer.readi32 (b, o + 4)),
24
- UDim.new (buffer.readf32 (b, o + 8), buffer.readi32 (b, o + 12))
17
+ buffer.writef32(b, o, x.Scale)
18
+ buffer.writei32(b, o + 4, x.Offset)
19
+ buffer.writef32(b, o + 8, y.Scale)
20
+ buffer.writei32(b, o + 12, y.Offset)
21
+ end, function(b: buffer, o: number): UDim2
22
+ return UDim2.new(
23
+ UDim.new(buffer.readf32(b, o), buffer.readi32(b, o + 4)),
24
+ UDim.new(buffer.readf32(b, o + 8), buffer.readi32(b, o + 12))
25
25
  )
26
26
  end),
27
27
  })
@@ -1,25 +1,21 @@
1
1
  --!strict
2
2
  --!native
3
- -- Vector2 (8B) and Vector3 (12B) codecs.
3
+ -- Vector2(8B) and Vector3(12B) codecs.
4
4
 
5
- local Base = require (script.Parent.Parent.Base)
5
+ local Base = require(script.Parent.Parent.Base)
6
6
 
7
- return table.freeze ({
8
- vec2 = Base.define (8, function (b: buffer, o: number, v: Vector2): ()
9
- buffer.writef32 (b, o, v.X)
10
- buffer.writef32 (b, o + 4, v.Y)
11
- end, function (b: buffer, o: number): Vector2
12
- return Vector2.new (buffer.readf32 (b, o), buffer.readf32 (b, o + 4))
7
+ return table.freeze({
8
+ vec2 = Base.define(8, function(b: buffer, o: number, v: Vector2): ()
9
+ buffer.writef32(b, o, v.X)
10
+ buffer.writef32(b, o + 4, v.Y)
11
+ end, function(b: buffer, o: number): Vector2
12
+ return Vector2.new(buffer.readf32(b, o), buffer.readf32(b, o + 4))
13
13
  end),
14
- vec3 = Base.define (12, function (b: buffer, o: number, v: Vector3): ()
15
- buffer.writef32 (b, o, v.X)
16
- buffer.writef32 (b, o + 4, v.Y)
17
- buffer.writef32 (b, o + 8, v.Z)
18
- end, function (b: buffer, o: number): Vector3
19
- return Vector3.new (
20
- buffer.readf32 (b, o),
21
- buffer.readf32 (b, o + 4),
22
- buffer.readf32 (b, o + 8)
23
- )
14
+ vec3 = Base.define(12, function(b: buffer, o: number, v: Vector3): ()
15
+ buffer.writef32(b, o, v.X)
16
+ buffer.writef32(b, o + 4, v.Y)
17
+ buffer.writef32(b, o + 8, v.Z)
18
+ end, function(b: buffer, o: number): Vector3
19
+ return Vector3.new(buffer.readf32(b, o), buffer.readf32(b, o + 4), buffer.readf32(b, o + 8))
24
20
  end),
25
21
  })