@quenty/tie 10.20.4-canary.559.9f38947.0 → 10.21.0-canary.559.b31717d.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.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [10.20.4-canary.559.9f38947.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/tie@10.20.3...@quenty/tie@10.20.4-canary.559.9f38947.0) (2025-05-10)
6
+ # [10.21.0-canary.559.b31717d.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/tie@10.20.3...@quenty/tie@10.21.0-canary.559.b31717d.0) (2025-05-10)
7
7
 
8
8
 
9
9
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/tie",
3
- "version": "10.20.4-canary.559.9f38947.0",
3
+ "version": "10.21.0-canary.559.b31717d.0",
4
4
  "description": "Tie allows interfaces to be defined between Lua OOP and Roblox objects.",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -28,29 +28,29 @@
28
28
  "Quenty"
29
29
  ],
30
30
  "dependencies": {
31
- "@quenty/attributeutils": "14.17.4-canary.559.9f38947.0",
32
- "@quenty/baseobject": "10.8.4-canary.559.9f38947.0",
33
- "@quenty/brio": "14.17.4-canary.559.9f38947.0",
34
- "@quenty/collectionserviceutils": "8.17.4-canary.559.9f38947.0",
35
- "@quenty/instanceutils": "13.17.4-canary.559.9f38947.0",
36
- "@quenty/loader": "10.8.4-canary.559.9f38947.0",
37
- "@quenty/maid": "3.4.4-canary.559.9f38947.0",
38
- "@quenty/rx": "13.17.4-canary.559.9f38947.0",
39
- "@quenty/rxsignal": "7.17.4-canary.559.9f38947.0",
40
- "@quenty/statestack": "14.18.4-canary.559.9f38947.0",
31
+ "@quenty/attributeutils": "14.18.0-canary.559.b31717d.0",
32
+ "@quenty/baseobject": "10.8.3",
33
+ "@quenty/brio": "14.18.0-canary.559.b31717d.0",
34
+ "@quenty/collectionserviceutils": "8.18.0-canary.559.b31717d.0",
35
+ "@quenty/instanceutils": "13.18.0-canary.559.b31717d.0",
36
+ "@quenty/loader": "10.8.3",
37
+ "@quenty/maid": "3.4.3",
38
+ "@quenty/rx": "13.18.0-canary.559.b31717d.0",
39
+ "@quenty/rxsignal": "7.18.0-canary.559.b31717d.0",
40
+ "@quenty/statestack": "14.19.0-canary.559.b31717d.0",
41
41
  "@quenty/string": "3.3.3",
42
- "@quenty/symbol": "3.4.3-canary.559.9f38947.0",
43
- "@quenty/table": "3.7.5-canary.559.9f38947.0",
44
- "@quenty/tuple": "1.5.4-canary.559.9f38947.0",
45
- "@quenty/valuebaseutils": "13.17.4-canary.559.9f38947.0",
46
- "@quenty/valueobject": "13.17.4-canary.559.9f38947.0"
42
+ "@quenty/symbol": "3.4.2",
43
+ "@quenty/table": "3.7.4",
44
+ "@quenty/tuple": "1.6.0-canary.559.b31717d.0",
45
+ "@quenty/valuebaseutils": "13.18.0-canary.559.b31717d.0",
46
+ "@quenty/valueobject": "13.18.0-canary.559.b31717d.0"
47
47
  },
48
48
  "devDependencies": {
49
- "@quenty/promise": "10.10.5-canary.559.9f38947.0",
50
- "@quenty/signal": "7.10.4-canary.559.9f38947.0"
49
+ "@quenty/promise": "10.11.0-canary.559.b31717d.0",
50
+ "@quenty/signal": "7.10.3"
51
51
  },
52
52
  "publishConfig": {
53
53
  "access": "public"
54
54
  },
55
- "gitHead": "9f38947767d202411936a5c98898033df5865da0"
55
+ "gitHead": "b31717d8c9f7620c457f5018a2affa760a65334a"
56
56
  }
@@ -42,4 +42,4 @@ function TieMethodDefinition:GetInterface(implParent: Instance, aliasSelf, tieRe
42
42
  return TieMethodInterfaceUtils.get(aliasSelf, self, implParent, nil, tieRealm)
43
43
  end
44
44
 
45
- return TieMethodDefinition
45
+ return TieMethodDefinition
@@ -44,4 +44,5 @@ function TieMethodImplementation:SetImplementation(implementation)
44
44
  end
45
45
  end
46
46
 
47
- return TieMethodImplementation
47
+
48
+ return TieMethodImplementation
@@ -10,28 +10,18 @@ local TieUtils = require("TieUtils")
10
10
 
11
11
  local TieMethodInterfaceUtils = {}
12
12
 
13
- function TieMethodInterfaceUtils.get(
14
- aliasSelf,
15
- tieMethodDefinition,
16
- implParent: Instance?,
17
- adornee: Instance?,
18
- interfaceTieRealm: TieRealms.TieRealm
19
- )
13
+ function TieMethodInterfaceUtils.get(aliasSelf, tieMethodDefinition, implParent: Instance?, adornee: Instance?, interfaceTieRealm: TieRealms.TieRealm)
20
14
  assert(TieRealmUtils.isTieRealm(interfaceTieRealm), "Bad interfaceTieRealm")
21
15
 
22
16
  local tieDefinition = tieMethodDefinition:GetTieDefinition()
23
17
 
24
18
  return function(firstArg, ...)
25
19
  if firstArg ~= aliasSelf then
26
- error(
27
- string.format(
28
- "Must call methods with self as first parameter (Hint use `%s:%s()` instead of `%s.%s()`)",
29
- tieDefinition:GetName(),
30
- tieMethodDefinition:GetMemberName(),
31
- tieDefinition:GetName(),
32
- tieMethodDefinition:GetMemberName()
33
- )
34
- )
20
+ error(string.format("Must call methods with self as first parameter (Hint use `%s:%s()` instead of `%s.%s()`)",
21
+ tieDefinition:GetName(),
22
+ tieMethodDefinition:GetMemberName(),
23
+ tieDefinition:GetName(),
24
+ tieMethodDefinition:GetMemberName()))
35
25
  end
36
26
 
37
27
  if implParent and adornee then
@@ -78,4 +68,4 @@ function TieMethodInterfaceUtils.get(
78
68
  end
79
69
  end
80
70
 
81
- return TieMethodInterfaceUtils
71
+ return TieMethodInterfaceUtils
@@ -4,9 +4,9 @@
4
4
 
5
5
  local require = require(script.Parent.loader).load(script)
6
6
 
7
- local TieMemberDefinition = require("TieMemberDefinition")
8
7
  local TiePropertyImplementation = require("TiePropertyImplementation")
9
8
  local TiePropertyInterface = require("TiePropertyInterface")
9
+ local TieMemberDefinition = require("TieMemberDefinition")
10
10
  local TieRealmUtils = require("TieRealmUtils")
11
11
 
12
12
  local TiePropertyDefinition = setmetatable({}, TieMemberDefinition)
@@ -16,8 +16,7 @@ TiePropertyDefinition.__index = TiePropertyDefinition
16
16
  function TiePropertyDefinition.new(tieDefinition, propertyName: string, defaultValue: any, memberTieRealm)
17
17
  assert(TieRealmUtils.isTieRealm(memberTieRealm), "Bad memberTieRealm")
18
18
 
19
- local self =
20
- setmetatable(TieMemberDefinition.new(tieDefinition, propertyName, memberTieRealm), TiePropertyDefinition)
19
+ local self = setmetatable(TieMemberDefinition.new(tieDefinition, propertyName, memberTieRealm), TiePropertyDefinition)
21
20
 
22
21
  self._defaultValue = defaultValue
23
22
 
@@ -55,4 +54,5 @@ function TiePropertyDefinition:GetInterface(implParent: Instance, _actualSelf, t
55
54
  return TiePropertyInterface.new(implParent, nil, self, tieRealm)
56
55
  end
57
56
 
58
- return TiePropertyDefinition
57
+
58
+ return TiePropertyDefinition
@@ -4,13 +4,13 @@
4
4
 
5
5
  local require = require(script.Parent.loader).load(script)
6
6
 
7
- local AttributeUtils = require("AttributeUtils")
8
- local AttributeValue = require("AttributeValue")
9
7
  local BaseObject = require("BaseObject")
10
- local Maid = require("Maid")
11
- local TiePropertyImplementationUtils = require("TiePropertyImplementationUtils")
12
8
  local TieUtils = require("TieUtils")
9
+ local Maid = require("Maid")
13
10
  local ValueBaseUtils = require("ValueBaseUtils")
11
+ local TiePropertyImplementationUtils = require("TiePropertyImplementationUtils")
12
+ local AttributeUtils = require("AttributeUtils")
13
+ local AttributeValue = require("AttributeValue")
14
14
  local ValueObject = require("ValueObject")
15
15
 
16
16
  local TiePropertyImplementation = setmetatable({}, BaseObject)
@@ -138,4 +138,4 @@ function TiePropertyImplementation:_syncMember(maid, copy, implementation)
138
138
  end))
139
139
  end
140
140
 
141
- return TiePropertyImplementation
141
+ return TiePropertyImplementation
@@ -26,4 +26,4 @@ function TiePropertyImplementationUtils.changeToClassIfNeeded(memberDefinition,
26
26
  return instance
27
27
  end
28
28
 
29
- return TiePropertyImplementationUtils
29
+ return TiePropertyImplementationUtils
@@ -26,10 +26,7 @@ TiePropertyInterface.ClassName = "TiePropertyInterface"
26
26
  TiePropertyInterface.__index = TiePropertyInterface
27
27
 
28
28
  function TiePropertyInterface.new(implParent, adornee: Instance, memberDefinition, interfaceTieRealm)
29
- local self = setmetatable(
30
- TieMemberInterface.new(implParent, adornee, memberDefinition, interfaceTieRealm),
31
- TiePropertyInterface
32
- )
29
+ local self = setmetatable(TieMemberInterface.new(implParent, adornee, memberDefinition, interfaceTieRealm), TiePropertyInterface)
33
30
 
34
31
  return self
35
32
  end
@@ -43,7 +40,7 @@ function TiePropertyInterface:ObserveBrio(predicate)
43
40
  -- TODO: Maybe don't assumet his exists and use a helper method instead.
44
41
  return valueBase:ObserveBrio(predicate)
45
42
  end
46
- end),
43
+ end);
47
44
  })
48
45
  end
49
46
 
@@ -80,8 +77,8 @@ function TiePropertyInterface:Observe()
80
77
 
81
78
  return maid
82
79
  end)
83
- end),
84
- Rx.distinct(),
80
+ end);
81
+ Rx.distinct();
85
82
  })
86
83
  end
87
84
 
@@ -109,13 +106,9 @@ end
109
106
  function TiePropertyInterface:_getValueBaseOrError()
110
107
  local valueBase = self:_findValueBase()
111
108
  if not valueBase then
112
- error(
113
- string.format(
114
- "%s.%s is not implemented for %s",
115
- self._memberDefinition:GetFriendlyName(),
116
- self:_getFullName()
117
- )
118
- )
109
+ error(string.format("%s.%s is not implemented for %s",
110
+ self._memberDefinition:GetFriendlyName(),
111
+ self:_getFullName()))
119
112
  end
120
113
  return valueBase
121
114
  end
@@ -132,13 +125,13 @@ end
132
125
 
133
126
  function TiePropertyInterface:_getChangedEvent()
134
127
  return RxSignal.new(self:Observe():Pipe({
135
- Rx.skip(1),
128
+ Rx.skip(1)
136
129
  }))
137
130
  end
138
131
 
139
132
  local IMPLEMENTATION_TYPES = {
140
- attribute = "attribute",
141
- none = "none",
133
+ attribute = "attribute";
134
+ none = "none";
142
135
  }
143
136
 
144
137
  function TiePropertyInterface:_observeFromImplParent(implParent)
@@ -231,8 +224,8 @@ function TiePropertyInterface:_observeValueBaseBrio()
231
224
  return self:ObserveImplParentBrio():Pipe({
232
225
  RxBrioUtils.switchMapBrio(function(implParent)
233
226
  return self:_observeFromImplParent(implParent)
234
- end),
235
- RxBrioUtils.onlyLastBrioSurvives(),
227
+ end);
228
+ RxBrioUtils.onlyLastBrioSurvives();
236
229
  })
237
230
  end
238
231
 
@@ -252,12 +245,7 @@ function TiePropertyInterface:__index(index)
252
245
  return valueBase.Value
253
246
  elseif index == "Changed" then
254
247
  return self:_getChangedEvent()
255
- elseif
256
- index == "_adornee"
257
- or index == "_implParent"
258
- or index == "_memberDefinition"
259
- or index == "_tieDefinition"
260
- then
248
+ elseif index == "_adornee" or index == "_implParent" or index == "_memberDefinition" or index == "_tieDefinition" then
261
249
  return rawget(self, index)
262
250
  else
263
251
  error(string.format("Bad index %q for TiePropertyInterface", tostring(index)))
@@ -270,12 +258,7 @@ function TiePropertyInterface:__newindex(index, value)
270
258
  elseif index == "Value" then
271
259
  local className = ValueBaseUtils.getClassNameFromType(typeof(value))
272
260
  if not className then
273
- error(
274
- string.format(
275
- "[TiePropertyImplementation] - Bad implementation value type %q, cannot set",
276
- typeof(value)
277
- )
278
- )
261
+ error(string.format("[TiePropertyImplementation] - Bad implementation value type %q, cannot set", typeof(value)))
279
262
  end
280
263
 
281
264
  local valueBase = self:_findValueBase()
@@ -296,17 +279,11 @@ function TiePropertyInterface:__newindex(index, value)
296
279
  else
297
280
  local implParent = self:GetImplParent()
298
281
  if implParent then
299
- local copy =
300
- TiePropertyImplementationUtils.changeToClassIfNeeded(self._memberDefinition, implParent, className)
282
+ local copy = TiePropertyImplementationUtils.changeToClassIfNeeded(self._memberDefinition, implParent, className)
301
283
  copy.Value = value
302
284
  copy.Parent = implParent
303
285
  else
304
- error(
305
- string.format(
306
- "[TiePropertyImplementation] - No implParent for %q",
307
- self._memberDefinition:GetMemberName()
308
- )
309
- )
286
+ error(string.format("[TiePropertyImplementation] - No implParent for %q", self._memberDefinition:GetMemberName()))
310
287
  end
311
288
  end
312
289
  elseif index == "Changed" then
@@ -316,4 +293,5 @@ function TiePropertyInterface:__newindex(index, value)
316
293
  end
317
294
  end
318
295
 
319
- return TiePropertyInterface
296
+
297
+ return TiePropertyInterface
@@ -60,4 +60,4 @@ function TieSignalConnection:Destroy()
60
60
  -- Avoid setting the metatable so calling methods is always valid
61
61
  end
62
62
 
63
- return TieSignalConnection
63
+ return TieSignalConnection
@@ -5,9 +5,9 @@
5
5
  local require = require(script.Parent.loader).load(script)
6
6
 
7
7
  local TieMemberDefinition = require("TieMemberDefinition")
8
- local TieRealmUtils = require("TieRealmUtils")
9
8
  local TieSignalImplementation = require("TieSignalImplementation")
10
9
  local TieSignalInterface = require("TieSignalInterface")
10
+ local TieRealmUtils = require("TieRealmUtils")
11
11
 
12
12
  local TieSignalDefinition = setmetatable({}, TieMemberDefinition)
13
13
  TieSignalDefinition.ClassName = "TieSignalDefinition"
@@ -35,4 +35,4 @@ function TieSignalDefinition:GetInterface(implParent: Instance, _actualSelf, tie
35
35
  return TieSignalInterface.new(implParent, nil, self, tieRealm)
36
36
  end
37
37
 
38
- return TieSignalDefinition
38
+ return TieSignalDefinition
@@ -5,8 +5,8 @@
5
5
  local require = require(script.Parent.loader).load(script)
6
6
 
7
7
  local BaseObject = require("BaseObject")
8
- local Maid = require("Maid")
9
8
  local TieUtils = require("TieUtils")
9
+ local Maid = require("Maid")
10
10
  local Tuple = require("Tuple")
11
11
 
12
12
  local TieSignalImplementation = setmetatable({}, BaseObject)
@@ -69,4 +69,4 @@ function TieSignalImplementation:SetImplementation(signal)
69
69
  self._maid._implementationMaid = maid
70
70
  end
71
71
 
72
- return TieSignalImplementation
72
+ return TieSignalImplementation
@@ -6,12 +6,12 @@
6
6
 
7
7
  local require = require(script.Parent.loader).load(script)
8
8
 
9
- local RxBrioUtils = require("RxBrioUtils")
10
- local RxInstanceUtils = require("RxInstanceUtils")
11
9
  local TieMemberInterface = require("TieMemberInterface")
12
- local TieRealmUtils = require("TieRealmUtils")
13
10
  local TieSignalConnection = require("TieSignalConnection")
14
11
  local TieUtils = require("TieUtils")
12
+ local RxBrioUtils = require("RxBrioUtils")
13
+ local RxInstanceUtils = require("RxInstanceUtils")
14
+ local TieRealmUtils = require("TieRealmUtils")
15
15
 
16
16
  local TieSignalInterface = setmetatable({}, TieMemberInterface)
17
17
  TieSignalInterface.ClassName = "TieSignalInterface"
@@ -20,10 +20,7 @@ TieSignalInterface.__index = TieSignalInterface
20
20
  function TieSignalInterface.new(implParent: Instance, adornee: Instance, memberDefinition, interfaceTieRealm)
21
21
  assert(TieRealmUtils.isTieRealm(interfaceTieRealm), "Bad interfaceTieRealm")
22
22
 
23
- local self = setmetatable(
24
- TieMemberInterface.new(implParent, adornee, memberDefinition, interfaceTieRealm),
25
- TieSignalInterface
26
- )
23
+ local self = setmetatable(TieMemberInterface.new(implParent, adornee, memberDefinition, interfaceTieRealm), TieSignalInterface)
27
24
 
28
25
  return self
29
26
  end
@@ -70,9 +67,10 @@ function TieSignalInterface:ObserveBindableEventBrio()
70
67
  return self:ObserveImplParentBrio():Pipe({
71
68
  RxBrioUtils.switchMapBrio(function(implParent)
72
69
  return RxInstanceUtils.observeLastNamedChildBrio(implParent, "BindableEvent", name)
73
- end),
74
- RxBrioUtils.onlyLastBrioSurvives(),
70
+ end);
71
+ RxBrioUtils.onlyLastBrioSurvives();
75
72
  })
73
+
76
74
  end
77
75
 
78
76
  function TieSignalInterface:_getBindableEvent()
@@ -89,4 +87,4 @@ function TieSignalInterface:_getBindableEvent()
89
87
  end
90
88
  end
91
89
 
92
- return TieSignalInterface
90
+ return TieSignalInterface
@@ -101,4 +101,4 @@ function TieMemberDefinition:GetMemberName(): string
101
101
  return self._memberName
102
102
  end
103
103
 
104
- return TieMemberDefinition
104
+ return TieMemberDefinition
@@ -63,19 +63,20 @@ function TieMemberInterface:ObserveImplParentBrio()
63
63
 
64
64
  if self._implParent and self._adornee then
65
65
  return Rx.combineLatest({
66
- Parent = RxInstanceUtils.observeProperty(self._implParent, "Parent"),
67
- Name = RxInstanceUtils.observeProperty(self._implParent, "Name"),
68
- }):Pipe({
66
+ Parent = RxInstanceUtils.observeProperty(self._implParent, "Parent");
67
+ Name = RxInstanceUtils.observeProperty(self._implParent, "Name");
68
+ })
69
+ :Pipe({
69
70
  Rx.map(function(state)
70
71
  if validContainerNameSet[state.Name] and state.Parent == self._adornee then
71
72
  return self._implParent
72
73
  else
73
74
  return nil
74
75
  end
75
- end),
76
- Rx.distinct(),
77
- RxBrioUtils.toBrio(),
78
- RxBrioUtils.onlyLastBrioSurvives(),
76
+ end);
77
+ Rx.distinct();
78
+ RxBrioUtils.toBrio();
79
+ RxBrioUtils.onlyLastBrioSurvives();
79
80
  })
80
81
  elseif self._implParent then
81
82
  return RxInstanceUtils.observePropertyBrio(self._implParent, "Name", function(name)
@@ -83,7 +84,7 @@ function TieMemberInterface:ObserveImplParentBrio()
83
84
  end):Pipe({
84
85
  RxBrioUtils.map(function()
85
86
  return self._implParent
86
- end),
87
+ end);
87
88
  })
88
89
  elseif self._adornee then
89
90
  return self._tieDefinition:ObserveValidContainerChildrenBrio(self._adornee, self._interfaceTieRealm)
@@ -92,4 +93,4 @@ function TieMemberInterface:ObserveImplParentBrio()
92
93
  end
93
94
  end
94
95
 
95
- return TieMemberInterface
96
+ return TieMemberInterface
@@ -41,4 +41,4 @@ function TieRealmUtils.inferTieRealm(): "server" | "client"
41
41
  end
42
42
  end
43
43
 
44
- return TieRealmUtils
44
+ return TieRealmUtils
@@ -5,8 +5,8 @@
5
5
 
6
6
  local require = require(script.Parent.loader).load(script)
7
7
 
8
- local ServiceBag = require("ServiceBag")
9
8
  local TieRealmUtils = require("TieRealmUtils")
9
+ local ServiceBag = require("ServiceBag")
10
10
  local TieRealms = require("TieRealms")
11
11
 
12
12
  local TieRealmService = {}
@@ -45,4 +45,4 @@ function TieRealmService.GetTieRealm(self: TieRealmService): TieRealms.TieRealm
45
45
  return self._tieRealm
46
46
  end
47
47
 
48
- return TieRealmService
48
+ return TieRealmService
@@ -59,8 +59,8 @@ local TieImplementation = require("TieImplementation")
59
59
  local TieInterface = require("TieInterface")
60
60
  local TieMethodDefinition = require("TieMethodDefinition")
61
61
  local TiePropertyDefinition = require("TiePropertyDefinition")
62
- local TieRealmUtils = require("TieRealmUtils")
63
62
  local TieRealms = require("TieRealms")
63
+ local TieRealmUtils = require("TieRealmUtils")
64
64
  local TieSignalDefinition = require("TieSignalDefinition")
65
65
  local ValueObject = require("ValueObject")
66
66
 
@@ -9,9 +9,9 @@
9
9
  local require = require(script.Parent.loader).load(script)
10
10
 
11
11
  local BaseObject = require("BaseObject")
12
- local String = require("String")
13
12
  local TieRealmUtils = require("TieRealmUtils")
14
13
  local TieRealms = require("TieRealms")
14
+ local String = require("String")
15
15
 
16
16
  local TieImplementation = setmetatable({}, BaseObject)
17
17
  TieImplementation.ClassName = "TieImplementation"
@@ -25,12 +25,7 @@ TieImplementation.__index = TieImplementation
25
25
  @param implementer table
26
26
  @param implementationTieRealm TieRealm
27
27
  ]=]
28
- function TieImplementation.new(
29
- tieDefinition,
30
- adornee: Instance,
31
- implementer,
32
- implementationTieRealm: TieRealms.TieRealm
33
- )
28
+ function TieImplementation.new(tieDefinition, adornee: Instance, implementer, implementationTieRealm: TieRealms.TieRealm)
34
29
  assert(TieRealmUtils.isTieRealm(implementationTieRealm), "Bad implementationTieRealm")
35
30
 
36
31
  local self = setmetatable(BaseObject.new(), TieImplementation)
@@ -6,9 +6,9 @@
6
6
 
7
7
  local require = require(script.Parent.loader).load(script)
8
8
 
9
- local TieMethodInterfaceUtils = require("TieMethodInterfaceUtils")
10
- local TiePropertyInterface = require("TiePropertyInterface")
11
9
  local TieSignalInterface = require("TieSignalInterface")
10
+ local TiePropertyInterface = require("TiePropertyInterface")
11
+ local TieMethodInterfaceUtils = require("TieMethodInterfaceUtils")
12
12
 
13
13
  local TieInterface = {}
14
14
  TieInterface.ClassName = "TieInterface"
@@ -117,14 +117,7 @@ function TieInterface:__index(index)
117
117
  error(string.format("Unknown member definition %q", tostring(member.ClassName)))
118
118
  end
119
119
  else
120
- error(
121
- string.format(
122
- "[TieInterface] - %s is not allowed in realm '%s'. Specify realm to %s.",
123
- member:GetFriendlyName(),
124
- interfaceTieRealm,
125
- member:GetMemberTieRealm()
126
- )
127
- )
120
+ error(string.format("[TieInterface] - %s is not allowed in realm '%s'. Specify realm to %s.", member:GetFriendlyName(), interfaceTieRealm, member:GetMemberTieRealm()))
128
121
  end
129
122
  elseif TieInterface[index] then
130
123
  return TieInterface[index]
@@ -133,4 +126,4 @@ function TieInterface:__index(index)
133
126
  end
134
127
  end
135
128
 
136
- return TieInterface
129
+ return TieInterface
@@ -17,13 +17,12 @@ local TieUtils = {}
17
17
  function TieUtils.encode(...)
18
18
  local results = table.pack(...)
19
19
 
20
- for i = 1, results.n do
21
- if
22
- type(results[i]) == "table"
23
- or type(results[i]) == "function"
20
+ for i=1, results.n do
21
+ if type(results[i]) == "table"
22
+ or type(results[i]) == "function"
24
23
  or typeof(results[i]) == "userdata" -- newproxy() symbols
25
- or Symbol.isSymbol(results[i])
26
- then
24
+ or Symbol.isSymbol(results[i]) then
25
+
27
26
  local saved = results[i]
28
27
  results[i] = function()
29
28
  return saved -- Pack into a callback so we can transfer data.
@@ -66,7 +65,7 @@ end
66
65
  function TieUtils.decode(...)
67
66
  local results = table.pack(...)
68
67
 
69
- for i = 1, results.n do
68
+ for i=1, results.n do
70
69
  if type(results[i]) == "function" then
71
70
  results[i] = results[i]()
72
71
  end
@@ -75,4 +74,4 @@ function TieUtils.decode(...)
75
74
  return unpack(results, 1, results.n)
76
75
  end
77
76
 
78
- return TieUtils
77
+ return TieUtils
@@ -4,8 +4,8 @@
4
4
 
5
5
  local require = require(script.Parent.loader).load(script)
6
6
 
7
- local ActionInterface = require("ActionInterface")
8
7
  local BaseObject = require("BaseObject")
8
+ local ActionInterface = require("ActionInterface")
9
9
  local Signal = require("Signal")
10
10
 
11
11
  local Action = setmetatable({}, BaseObject)
@@ -1,4 +1,4 @@
1
1
  --[[
2
2
  @class ClientMain
3
3
  ]]
4
- game:GetService("ReplicatedStorage"):WaitForChild("Packages")
4
+ game:GetService("ReplicatedStorage"):WaitForChild("Packages")
@@ -6,11 +6,11 @@ local ServerScriptService = game:GetService("ServerScriptService")
6
6
  local loader = ServerScriptService:FindFirstChild("LoaderUtils", true).Parent
7
7
  local require = require(loader).bootstrapGame(ServerScriptService.tie)
8
8
 
9
- local Action = require("Action")
10
- local ActionInterface = require("ActionInterface")
11
9
  local Door = require("Door")
12
- local OpenableInterface = require("OpenableInterface")
13
10
  local Window = require("Window")
11
+ local OpenableInterface = require("OpenableInterface")
12
+ local ActionInterface = require("ActionInterface")
13
+ local Action = require("Action")
14
14
 
15
15
  local DO_DOOR_WINDOW_TEST = false
16
16
 
@@ -36,6 +36,7 @@ if DO_DOOR_WINDOW_TEST then
36
36
  print("door:ObserveIsImplemented()", isImplemented)
37
37
  end)
38
38
 
39
+
39
40
  doorInterface:PromiseOpen():Then(function()
40
41
  print("Opened")
41
42
  end)
@@ -56,6 +57,7 @@ if DO_DOOR_WINDOW_TEST then
56
57
  end)
57
58
  end
58
59
 
60
+
59
61
  local adornee = Instance.new("Folder")
60
62
  adornee.Name = "Adornee"
61
63
  adornee.Parent = workspace
@@ -155,4 +157,4 @@ end
155
157
  -- action.Parent = nil
156
158
  -- task.wait(0.1)
157
159
 
158
- -- action.Parent = adornee
160
+ -- action.Parent = adornee