@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.
Files changed (44) hide show
  1. package/README.md +6 -0
  2. package/flamework.build +1 -1
  3. package/out/event/createEvent.d.ts +22 -4
  4. package/out/event/createEvent.luau +47 -49
  5. package/out/events/createClientMethod.luau +7 -3
  6. package/out/events/createGenericHandler.luau +6 -3
  7. package/out/events/createNetworkingEvent.luau +7 -5
  8. package/out/events/createServerMethod.d.ts +1 -1
  9. package/out/events/createServerMethod.luau +8 -3
  10. package/out/events/types.d.ts +4 -3
  11. package/out/function/createFunctionReceiver.d.ts +10 -9
  12. package/out/function/createFunctionReceiver.luau +53 -55
  13. package/out/function/createFunctionSender.d.ts +3 -2
  14. package/out/function/createFunctionSender.luau +118 -40
  15. package/out/functions/createClientMethod.d.ts +1 -1
  16. package/out/functions/createClientMethod.luau +9 -8
  17. package/out/functions/createGenericHandler.luau +8 -12
  18. package/out/functions/createNetworkingFunction.luau +7 -5
  19. package/out/functions/createServerMethod.d.ts +1 -1
  20. package/out/functions/createServerMethod.luau +9 -8
  21. package/out/functions/types.d.ts +10 -12
  22. package/out/handlers.d.ts +35 -36
  23. package/out/index.d.ts +6 -0
  24. package/out/init.luau +6 -0
  25. package/out/middleware/createGuards.d.ts +10 -0
  26. package/out/middleware/createGuards.luau +32 -0
  27. package/out/middleware/processor.d.ts +62 -0
  28. package/out/middleware/processor.luau +214 -0
  29. package/out/middleware/types.d.ts +26 -15
  30. package/out/util/createOnce.d.ts +14 -0
  31. package/out/util/createOnce.luau +66 -0
  32. package/out/util/createSignalContainer.d.ts +2 -1
  33. package/out/util/createSignalContainer.luau +2 -2
  34. package/out/util/signal.d.ts +27 -0
  35. package/out/util/signal.luau +135 -0
  36. package/out/util/trimArguments.d.ts +12 -0
  37. package/out/util/trimArguments.luau +48 -0
  38. package/package.json +2 -3
  39. package/out/middleware/createGuardMiddleware.d.ts +0 -6
  40. package/out/middleware/createGuardMiddleware.luau +0 -44
  41. package/out/middleware/createMiddlewareProcessor.d.ts +0 -3
  42. package/out/middleware/createMiddlewareProcessor.luau +0 -24
  43. package/out/util/timeoutPromise.d.ts +0 -1
  44. 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.0",
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.0",
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
- }