From 7a506a02e2a8d9547a83648cba44eacb5398a1f7 Mon Sep 17 00:00:00 2001 From: Oleksandr Honcharov <0976053529@ukr.net> Date: Thu, 13 Jun 2024 04:54:29 +0300 Subject: [PATCH] server triggerBrowser typization improvement --- server/src/index.ts | 5 ++++- server/src/types/browser.ts | 7 +++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/server/src/index.ts b/server/src/index.ts index aa1888f..845ed11 100644 --- a/server/src/index.ts +++ b/server/src/index.ts @@ -6,6 +6,7 @@ import { RageFW_CefArgs, RageFW_CefEvent, RageFW_CefReturn, + _CefEventHasArgs, _ClientEventHasArgs, _ServerEventHasArgs, RageFW_ClientEvent, @@ -128,7 +129,9 @@ class Player { public triggerBrowser( player: PlayerMp, eventName: EventName, - args: RageFW_CefArgs, + ...args: _CefEventHasArgs extends true + ? [RageFW_CefArgs] + : [] ): Promise> { return rpc.callBrowsers(player, eventName, args) } diff --git a/server/src/types/browser.ts b/server/src/types/browser.ts index 2f30f49..e6430ce 100644 --- a/server/src/types/browser.ts +++ b/server/src/types/browser.ts @@ -9,3 +9,10 @@ export type RageFW_CefArgs = Parameters< export type RageFW_CefReturn = ReturnType< RageFW_ICustomCefEvent[K] > + +export type _CefEventHasArgs = + keyof RageFW_ICustomCefEvent extends never + ? false + : Parameters[0] extends undefined + ? false + : true