@quenty/remoting 12.18.2 → 12.18.3
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,6 +3,14 @@
|
|
|
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
|
+
## [12.18.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/remoting@12.18.2...@quenty/remoting@12.18.3) (2025-04-10)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @quenty/remoting
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [12.18.2](https://github.com/Quenty/NevermoreEngine/compare/@quenty/remoting@12.18.0...@quenty/remoting@12.18.2) (2025-04-07)
|
|
7
15
|
|
|
8
16
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/remoting",
|
|
3
|
-
"version": "12.18.
|
|
3
|
+
"version": "12.18.3",
|
|
4
4
|
"description": "Global remoting retrieval system for Roblox (RemoteFunctions/RemoteEvents)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -26,18 +26,18 @@
|
|
|
26
26
|
"Quenty"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@quenty/brio": "^14.17.
|
|
30
|
-
"@quenty/instanceutils": "^13.17.
|
|
31
|
-
"@quenty/loader": "^10.8.
|
|
32
|
-
"@quenty/maid": "^3.4.
|
|
33
|
-
"@quenty/promise": "^10.10.
|
|
34
|
-
"@quenty/promisemaid": "^5.10.
|
|
35
|
-
"@quenty/remotefunctionutils": "^10.10.
|
|
36
|
-
"@quenty/rx": "^13.17.
|
|
37
|
-
"@quenty/table": "^3.7.
|
|
29
|
+
"@quenty/brio": "^14.17.3",
|
|
30
|
+
"@quenty/instanceutils": "^13.17.3",
|
|
31
|
+
"@quenty/loader": "^10.8.3",
|
|
32
|
+
"@quenty/maid": "^3.4.3",
|
|
33
|
+
"@quenty/promise": "^10.10.4",
|
|
34
|
+
"@quenty/promisemaid": "^5.10.4",
|
|
35
|
+
"@quenty/remotefunctionutils": "^10.10.4",
|
|
36
|
+
"@quenty/rx": "^13.17.3",
|
|
37
|
+
"@quenty/table": "^3.7.4"
|
|
38
38
|
},
|
|
39
39
|
"publishConfig": {
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "b06c070ae91d5dab7bd8de6e290ad2caabb15d8f"
|
|
43
43
|
}
|
|
@@ -111,7 +111,7 @@ export type Remoting = typeof(setmetatable(
|
|
|
111
111
|
-- Public remoting member export
|
|
112
112
|
[string]: RemotingMember.RemotingMember,
|
|
113
113
|
},
|
|
114
|
-
Remoting
|
|
114
|
+
{} :: typeof({ __index = Remoting })
|
|
115
115
|
))
|
|
116
116
|
|
|
117
117
|
--[=[
|
|
@@ -127,7 +127,7 @@ function Remoting.new(instance: Instance, name: string, remotingRealm: RemotingR
|
|
|
127
127
|
assert(type(name) == "string", "Bad name")
|
|
128
128
|
assert(RemotingRealmUtils.isRemotingRealm(remotingRealm) or remotingRealm == nil, "Bad remotingRealm")
|
|
129
129
|
|
|
130
|
-
local self = setmetatable({}, Remoting)
|
|
130
|
+
local self: Remoting = setmetatable({} :: any, Remoting)
|
|
131
131
|
|
|
132
132
|
self._maid = Maid.new()
|
|
133
133
|
|
|
@@ -139,7 +139,7 @@ function Remoting.new(instance: Instance, name: string, remotingRealm: RemotingR
|
|
|
139
139
|
self._remoteFolderName = string.format("%sRemotes", self._name)
|
|
140
140
|
self._remoteObjects = {}
|
|
141
141
|
|
|
142
|
-
return self
|
|
142
|
+
return self
|
|
143
143
|
end
|
|
144
144
|
|
|
145
145
|
(Remoting :: any).__index = function(self, index)
|
|
@@ -219,9 +219,9 @@ function Remoting.Connect(self: Remoting, memberName: string, callback: (...any)
|
|
|
219
219
|
error("[Remoting.Connect] - Unknown RunService state")
|
|
220
220
|
end
|
|
221
221
|
|
|
222
|
-
self._maid[connectMaid
|
|
222
|
+
self._maid[connectMaid] = connectMaid
|
|
223
223
|
connectMaid:GiveTask(function()
|
|
224
|
-
self._maid[connectMaid
|
|
224
|
+
self._maid[connectMaid] = nil
|
|
225
225
|
end)
|
|
226
226
|
|
|
227
227
|
return connectMaid
|
|
@@ -234,7 +234,7 @@ end
|
|
|
234
234
|
@param memberName string
|
|
235
235
|
@param callback any
|
|
236
236
|
]=]
|
|
237
|
-
function Remoting.Bind(self: Remoting, memberName: string, callback: (...any) -> ...any)
|
|
237
|
+
function Remoting.Bind(self: Remoting, memberName: string, callback: (...any) -> ...any): Maid.Maid
|
|
238
238
|
assert(type(memberName) == "string", "Bad memberName")
|
|
239
239
|
assert(type(callback) == "function", "Bad callback")
|
|
240
240
|
|
|
@@ -273,8 +273,8 @@ function Remoting.Bind(self: Remoting, memberName: string, callback: (...any) ->
|
|
|
273
273
|
|
|
274
274
|
bindMaid._warning = nil
|
|
275
275
|
|
|
276
|
-
|
|
277
|
-
|
|
276
|
+
local maid, remoteFunction: any = brio:ToMaidAndValue()
|
|
277
|
+
remoteFunction.OnInvoke = self:_translateCallback(maid, memberName, callback)
|
|
278
278
|
end)
|
|
279
279
|
)
|
|
280
280
|
else
|
|
@@ -295,9 +295,9 @@ function Remoting.Bind(self: Remoting, memberName: string, callback: (...any) ->
|
|
|
295
295
|
error("[Remoting.Bind] - Unknown RunService state")
|
|
296
296
|
end
|
|
297
297
|
|
|
298
|
-
self._maid[bindMaid
|
|
298
|
+
self._maid[bindMaid] = bindMaid
|
|
299
299
|
bindMaid:GiveTask(function()
|
|
300
|
-
self._maid[bindMaid
|
|
300
|
+
self._maid[bindMaid] = nil
|
|
301
301
|
end)
|
|
302
302
|
|
|
303
303
|
return bindMaid
|
|
@@ -543,11 +543,11 @@ function Remoting.PromiseFireServer(self: Remoting, memberName: string, ...)
|
|
|
543
543
|
end
|
|
544
544
|
|
|
545
545
|
promise:Finally(function()
|
|
546
|
-
self._maid[fireMaid
|
|
546
|
+
self._maid[fireMaid] = nil
|
|
547
547
|
end)
|
|
548
|
-
self._maid[fireMaid
|
|
548
|
+
self._maid[fireMaid] = fireMaid
|
|
549
549
|
fireMaid:GiveTask(function()
|
|
550
|
-
self._maid[fireMaid
|
|
550
|
+
self._maid[fireMaid] = nil
|
|
551
551
|
end)
|
|
552
552
|
|
|
553
553
|
-- TODO: Warn if remote event doesn't exist
|
|
@@ -604,11 +604,11 @@ function Remoting.PromiseInvokeServer(self: Remoting, memberName: string, ...):
|
|
|
604
604
|
end
|
|
605
605
|
|
|
606
606
|
promise:Finally(function()
|
|
607
|
-
self._maid[invokeMaid
|
|
607
|
+
self._maid[invokeMaid] = nil
|
|
608
608
|
end)
|
|
609
|
-
self._maid[invokeMaid
|
|
609
|
+
self._maid[invokeMaid] = invokeMaid
|
|
610
610
|
invokeMaid:GiveTask(function()
|
|
611
|
-
self._maid[invokeMaid
|
|
611
|
+
self._maid[invokeMaid] = nil
|
|
612
612
|
end)
|
|
613
613
|
|
|
614
614
|
-- TODO: Warn if remote function doesn't exist
|
|
@@ -642,12 +642,12 @@ function Remoting.PromiseInvokeClient(self: Remoting, memberName: string, player
|
|
|
642
642
|
end
|
|
643
643
|
|
|
644
644
|
promise:Finally(function()
|
|
645
|
-
self._maid[invokeMaid
|
|
645
|
+
self._maid[invokeMaid] = nil
|
|
646
646
|
end)
|
|
647
647
|
|
|
648
|
-
self._maid[invokeMaid
|
|
648
|
+
self._maid[invokeMaid] = invokeMaid
|
|
649
649
|
invokeMaid:GiveTask(function()
|
|
650
|
-
self._maid[invokeMaid
|
|
650
|
+
self._maid[invokeMaid] = nil
|
|
651
651
|
end)
|
|
652
652
|
|
|
653
653
|
return promise
|
|
@@ -9,12 +9,21 @@
|
|
|
9
9
|
local require = require(script.Parent.loader).load(script)
|
|
10
10
|
|
|
11
11
|
local RemotingRealms = require("RemotingRealms")
|
|
12
|
+
local _Maid = require("Maid")
|
|
13
|
+
local _Promise = require("Promise")
|
|
12
14
|
|
|
13
15
|
local RemotingMember = {}
|
|
14
16
|
RemotingMember.ClassName = "RemotingMember"
|
|
15
17
|
RemotingMember.__index = RemotingMember
|
|
16
18
|
|
|
17
|
-
export type RemotingMember = typeof(setmetatable(
|
|
19
|
+
export type RemotingMember = typeof(setmetatable(
|
|
20
|
+
{} :: {
|
|
21
|
+
_remoting: any,
|
|
22
|
+
_memberName: string,
|
|
23
|
+
_remotingRealm: RemotingRealms.RemotingRealm,
|
|
24
|
+
},
|
|
25
|
+
{} :: typeof({ __index = RemotingMember })
|
|
26
|
+
))
|
|
18
27
|
|
|
19
28
|
--[=[
|
|
20
29
|
Constructs a new RemotingMember
|
|
@@ -24,8 +33,12 @@ export type RemotingMember = typeof(setmetatable({}, RemotingMember))
|
|
|
24
33
|
@param remotingRealm RemotingRealms
|
|
25
34
|
@return RemotingMember
|
|
26
35
|
]=]
|
|
27
|
-
function RemotingMember.new(
|
|
28
|
-
|
|
36
|
+
function RemotingMember.new(
|
|
37
|
+
remoting: any,
|
|
38
|
+
memberName: string,
|
|
39
|
+
remotingRealm: RemotingRealms.RemotingRealm
|
|
40
|
+
): RemotingMember
|
|
41
|
+
local self: RemotingMember = setmetatable({} :: any, RemotingMember)
|
|
29
42
|
|
|
30
43
|
self._remoting = assert(remoting, "No remoting")
|
|
31
44
|
self._memberName = assert(memberName, "No memberName")
|
|
@@ -43,7 +56,7 @@ end
|
|
|
43
56
|
@param callback function
|
|
44
57
|
@return MaidTask
|
|
45
58
|
]=]
|
|
46
|
-
function RemotingMember
|
|
59
|
+
function RemotingMember.Bind(self: RemotingMember, callback: (...any) -> ...any): _Maid.Maid
|
|
47
60
|
assert(type(callback) == "function", "Bad callback")
|
|
48
61
|
|
|
49
62
|
return self._remoting:Bind(self._memberName, callback)
|
|
@@ -60,7 +73,7 @@ end
|
|
|
60
73
|
@param callback function
|
|
61
74
|
@return MaidTask
|
|
62
75
|
]=]
|
|
63
|
-
function RemotingMember
|
|
76
|
+
function RemotingMember.Connect(self: RemotingMember, callback: (...any) -> ())
|
|
64
77
|
assert(type(callback) == "function", "Bad callback")
|
|
65
78
|
|
|
66
79
|
return self._remoting:Connect(self._memberName, callback)
|
|
@@ -69,14 +82,14 @@ end
|
|
|
69
82
|
--[=[
|
|
70
83
|
Forward declares an event on the remoting object
|
|
71
84
|
]=]
|
|
72
|
-
function RemotingMember
|
|
85
|
+
function RemotingMember.DeclareEvent(self: RemotingMember): ()
|
|
73
86
|
return self._remoting:DeclareEvent(self._memberName)
|
|
74
87
|
end
|
|
75
88
|
|
|
76
89
|
--[=[
|
|
77
90
|
Forward declares a method on the remoting object
|
|
78
91
|
]=]
|
|
79
|
-
function RemotingMember
|
|
92
|
+
function RemotingMember.DeclareMethod(self: RemotingMember): ()
|
|
80
93
|
return self._remoting:DeclareMethod(self._memberName)
|
|
81
94
|
end
|
|
82
95
|
|
|
@@ -86,7 +99,7 @@ end
|
|
|
86
99
|
@client
|
|
87
100
|
@param ... any
|
|
88
101
|
]=]
|
|
89
|
-
function RemotingMember
|
|
102
|
+
function RemotingMember.FireServer(self: RemotingMember, ...)
|
|
90
103
|
assert(self._remotingRealm == RemotingRealms.CLIENT, "FireServer must be called on client")
|
|
91
104
|
self._remoting:FireServer(self._memberName, ...)
|
|
92
105
|
end
|
|
@@ -97,7 +110,7 @@ end
|
|
|
97
110
|
@client
|
|
98
111
|
@param ... any
|
|
99
112
|
]=]
|
|
100
|
-
function RemotingMember
|
|
113
|
+
function RemotingMember.InvokeServer(self: RemotingMember, ...): _Promise.Promise<...any>
|
|
101
114
|
assert(self._remotingRealm == RemotingRealms.CLIENT, "InvokeServer must be called on client")
|
|
102
115
|
|
|
103
116
|
return self._remoting:InvokeServer(self._memberName, ...)
|
|
@@ -109,7 +122,7 @@ end
|
|
|
109
122
|
@client
|
|
110
123
|
@param ... any
|
|
111
124
|
]=]
|
|
112
|
-
function RemotingMember
|
|
125
|
+
function RemotingMember.PromiseInvokeServer(self: RemotingMember, ...): _Promise.Promise<...any>
|
|
113
126
|
assert(self._remotingRealm == RemotingRealms.CLIENT, "PromiseInvokeServer must be called on client")
|
|
114
127
|
|
|
115
128
|
return self._remoting:PromiseInvokeServer(self._memberName, ...)
|
|
@@ -122,7 +135,7 @@ end
|
|
|
122
135
|
@param ... any
|
|
123
136
|
@return Promise
|
|
124
137
|
]=]
|
|
125
|
-
function RemotingMember
|
|
138
|
+
function RemotingMember.PromiseFireServer(self: RemotingMember, ...): _Promise.Promise<...any>
|
|
126
139
|
assert(self._remotingRealm == RemotingRealms.CLIENT, "PromiseInvokeServer must be called on client")
|
|
127
140
|
|
|
128
141
|
return self._remoting:PromiseFireServer(self._memberName, ...)
|
|
@@ -138,7 +151,7 @@ end
|
|
|
138
151
|
@param ... any
|
|
139
152
|
@return Promise<any>
|
|
140
153
|
]=]
|
|
141
|
-
function RemotingMember
|
|
154
|
+
function RemotingMember.PromiseInvokeClient(self: RemotingMember, player: Player, ...): _Promise.Promise<...any>
|
|
142
155
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
143
156
|
assert(self._remotingRealm == RemotingRealms.SERVER, "PromiseInvokeClient must be called on client")
|
|
144
157
|
|
|
@@ -155,7 +168,7 @@ end
|
|
|
155
168
|
@param ... any
|
|
156
169
|
@return ... any
|
|
157
170
|
]=]
|
|
158
|
-
function RemotingMember
|
|
171
|
+
function RemotingMember.InvokeClient(self: RemotingMember, player: Player, ...): ...any
|
|
159
172
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
160
173
|
assert(self._remotingRealm == RemotingRealms.SERVER, "InvokeClient must be called on client")
|
|
161
174
|
|
|
@@ -170,7 +183,7 @@ end
|
|
|
170
183
|
@server
|
|
171
184
|
@param ... any
|
|
172
185
|
]=]
|
|
173
|
-
function RemotingMember
|
|
186
|
+
function RemotingMember.FireAllClients(self: RemotingMember, ...)
|
|
174
187
|
assert(self._remotingRealm == RemotingRealms.SERVER, "FireAllClients must be called on client")
|
|
175
188
|
|
|
176
189
|
self._remoting:FireAllClients(self._memberName, ...)
|
|
@@ -184,7 +197,7 @@ end
|
|
|
184
197
|
@param excludePlayer Player | nil
|
|
185
198
|
@param ... any
|
|
186
199
|
]=]
|
|
187
|
-
function RemotingMember
|
|
200
|
+
function RemotingMember.FireAllClientsExcept(self: RemotingMember, excludePlayer: Player, ...)
|
|
188
201
|
assert(
|
|
189
202
|
typeof(excludePlayer) == "Instance" and excludePlayer:IsA("Player") or excludePlayer == nil,
|
|
190
203
|
"Bad excludePlayer"
|
|
@@ -203,7 +216,7 @@ end
|
|
|
203
216
|
@param player Instance
|
|
204
217
|
@param ... any
|
|
205
218
|
]=]
|
|
206
|
-
function RemotingMember
|
|
219
|
+
function RemotingMember.FireClient(self: RemotingMember, player: Player, ...)
|
|
207
220
|
assert(self._remotingRealm == RemotingRealms.SERVER, "FireClient must be called on client")
|
|
208
221
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
209
222
|
|