@flamework-experimental/networking 2.0.0-alpha.0 → 2.0.0-alpha.2
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/README.md +6 -0
- package/flamework.build +1 -1
- package/out/event/createEvent.d.ts +22 -4
- package/out/event/createEvent.luau +47 -49
- package/out/events/createClientMethod.luau +7 -3
- package/out/events/createGenericHandler.luau +6 -3
- package/out/events/createNetworkingEvent.luau +7 -5
- package/out/events/createServerMethod.d.ts +1 -1
- package/out/events/createServerMethod.luau +8 -3
- package/out/events/types.d.ts +4 -3
- package/out/function/createFunctionReceiver.d.ts +10 -9
- package/out/function/createFunctionReceiver.luau +53 -55
- package/out/function/createFunctionSender.d.ts +3 -2
- package/out/function/createFunctionSender.luau +118 -40
- package/out/functions/createClientMethod.d.ts +1 -1
- package/out/functions/createClientMethod.luau +9 -8
- package/out/functions/createGenericHandler.luau +8 -12
- package/out/functions/createNetworkingFunction.luau +7 -5
- package/out/functions/createServerMethod.d.ts +1 -1
- package/out/functions/createServerMethod.luau +9 -8
- package/out/functions/types.d.ts +10 -12
- package/out/handlers.d.ts +35 -36
- package/out/index.d.ts +6 -0
- package/out/init.luau +6 -0
- package/out/middleware/createGuards.d.ts +10 -0
- package/out/middleware/createGuards.luau +32 -0
- package/out/middleware/processor.d.ts +62 -0
- package/out/middleware/processor.luau +214 -0
- package/out/middleware/types.d.ts +26 -15
- package/out/util/createOnce.d.ts +14 -0
- package/out/util/createOnce.luau +66 -0
- package/out/util/createSignalContainer.d.ts +2 -1
- package/out/util/createSignalContainer.luau +2 -2
- package/out/util/signal.d.ts +27 -0
- package/out/util/signal.luau +135 -0
- package/out/util/trimArguments.d.ts +12 -0
- package/out/util/trimArguments.luau +48 -0
- package/package.json +2 -3
- package/out/middleware/createGuardMiddleware.d.ts +0 -6
- package/out/middleware/createGuardMiddleware.luau +0 -44
- package/out/middleware/createMiddlewareProcessor.d.ts +0 -3
- package/out/middleware/createMiddlewareProcessor.luau +0 -24
- package/out/util/timeoutPromise.d.ts +0 -1
- package/out/util/timeoutPromise.luau +0 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flamework-experimental/networking",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.2",
|
|
4
4
|
"main": "out/init.luau",
|
|
5
5
|
"types": "out/index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@flamework-experimental/core": "*"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@flamework-experimental/core": "2.0.0-alpha.
|
|
21
|
+
"@flamework-experimental/core": "2.0.0-alpha.2",
|
|
22
22
|
"@rbxts/compiler-types": "^3.0.0-types.0",
|
|
23
23
|
"@rbxts/types": "^1.0.948",
|
|
24
24
|
"roblox-ts": "^3.0.0"
|
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@rbxts/object-utils": "^1.0.4",
|
|
28
28
|
"@rbxts/services": "^1.1.5",
|
|
29
|
-
"@rbxts/signal": "^1.0.3",
|
|
30
29
|
"@rbxts/t": "^3.1.0"
|
|
31
30
|
}
|
|
32
31
|
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { t } from "@rbxts/t";
|
|
2
|
-
import { MiddlewareFactory } from "./types";
|
|
3
|
-
import { SignalContainer } from "../util/createSignalContainer";
|
|
4
|
-
import { EventNetworkingEvents } from "../handlers";
|
|
5
|
-
import { NetworkInfo } from "../types";
|
|
6
|
-
export declare function createGuardMiddleware<I extends unknown[], O>(name: string, fixedParameters: t.check<unknown>[], restParameter: t.check<unknown> | undefined, networkInfo: NetworkInfo, warnOnInvalid: boolean, signals: SignalContainer<EventNetworkingEvents>, failureValue?: O): MiddlewareFactory<I, O>;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
-- Compiled with roblox-ts v3.0.0
|
|
2
|
-
local TS = _G[script]
|
|
3
|
-
local Players = TS.import(script, TS.getModule(script, "@rbxts", "services")).Players
|
|
4
|
-
local function createGuardMiddleware(name, fixedParameters, restParameter, networkInfo, warnOnInvalid, signals, failureValue)
|
|
5
|
-
return function(processNext)
|
|
6
|
-
return function(player, ...)
|
|
7
|
-
local args = { ... }
|
|
8
|
-
do
|
|
9
|
-
local i = 0
|
|
10
|
-
local _shouldIncrement = false
|
|
11
|
-
while true do
|
|
12
|
-
if _shouldIncrement then
|
|
13
|
-
i += 1
|
|
14
|
-
else
|
|
15
|
-
_shouldIncrement = true
|
|
16
|
-
end
|
|
17
|
-
if not (i < math.max(#fixedParameters, #args)) then
|
|
18
|
-
break
|
|
19
|
-
end
|
|
20
|
-
local guard = fixedParameters[i + 1] or restParameter
|
|
21
|
-
if guard and not guard(args[i + 1]) then
|
|
22
|
-
if warnOnInvalid then
|
|
23
|
-
if player then
|
|
24
|
-
warn(`'{player}' sent invalid arguments for event '{name}' (arg #{i}):`, args[i + 1])
|
|
25
|
-
else
|
|
26
|
-
warn(`Server sent invalid arguments for event '{name}' (arg #{i}):`, args[i + 1])
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
signals:fire("onBadRequest", player or Players.LocalPlayer, {
|
|
30
|
-
networkInfo = networkInfo,
|
|
31
|
-
argIndex = i,
|
|
32
|
-
argValue = args[i + 1],
|
|
33
|
-
})
|
|
34
|
-
return failureValue
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
return processNext(player, unpack(args))
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
return {
|
|
43
|
-
createGuardMiddleware = createGuardMiddleware,
|
|
44
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { NetworkInfo } from "../types";
|
|
2
|
-
import { Middleware, MiddlewareFactory, MiddlewareProcessor } from "./types";
|
|
3
|
-
export declare function createMiddlewareProcessor<I extends readonly unknown[], O>(middlewareFactories: MiddlewareFactory<I, O>[] | undefined, networkInfo: NetworkInfo, finalize: Middleware<I, O>): MiddlewareProcessor<I, O>;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
-- Compiled with roblox-ts v3.0.0
|
|
2
|
-
local TS = _G[script]
|
|
3
|
-
local function createMiddlewareProcessor(middlewareFactories, networkInfo, finalize)
|
|
4
|
-
local middleware = {}
|
|
5
|
-
if not middlewareFactories or #middlewareFactories == 0 then
|
|
6
|
-
middleware[1] = finalize
|
|
7
|
-
else
|
|
8
|
-
for i = #middlewareFactories - 1, 0, -1 do
|
|
9
|
-
local factory = middlewareFactories[i + 1]
|
|
10
|
-
local processNext = middleware[i + 2] or finalize
|
|
11
|
-
middleware[i + 1] = factory(TS.async(function(player, ...)
|
|
12
|
-
local args = { ... }
|
|
13
|
-
return processNext(player, unpack(args))
|
|
14
|
-
end), networkInfo)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
return TS.async(function(player, ...)
|
|
18
|
-
local args = { ... }
|
|
19
|
-
return middleware[1](player, unpack(args))
|
|
20
|
-
end)
|
|
21
|
-
end
|
|
22
|
-
return {
|
|
23
|
-
createMiddlewareProcessor = createMiddlewareProcessor,
|
|
24
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function timeoutPromise(timeout: number, rejectValue: unknown): Promise<unknown>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
-- Compiled with roblox-ts v3.0.0
|
|
2
|
-
local TS = _G[script]
|
|
3
|
-
local function timeoutPromise(timeout, rejectValue)
|
|
4
|
-
return TS.Promise.delay(timeout):andThen(function()
|
|
5
|
-
return TS.Promise.reject(rejectValue)
|
|
6
|
-
end)
|
|
7
|
-
end
|
|
8
|
-
return {
|
|
9
|
-
timeoutPromise = timeoutPromise,
|
|
10
|
-
}
|