diff --git a/client/package.json b/client/package.json index 091d6b0..f45cc41 100644 --- a/client/package.json +++ b/client/package.json @@ -11,11 +11,11 @@ "types": "dts-bundle-generator --config dts.config.json" }, "peerDependencies": { - "@ragempcommunity/types-client": "^2.1.8", "rage-fw-shared-types": "workspace:^" }, "dependencies": { - "rage-rpc": "^0.4.0" + "rage-rpc": "^0.4.0", + "@ragempcommunity/types-client": "^2.1.8" }, "keywords": [], "author": "SashaGoncharov19", diff --git a/client/src/index.ts b/client/src/index.ts index 8b215f6..04ed1b8 100644 --- a/client/src/index.ts +++ b/client/src/index.ts @@ -1,10 +1,21 @@ import rpc from 'rage-rpc' -import type { +import { RageFW_ClientEventReturn, RageFW_ClientEvent, RageFW_ClientEventArguments, + RageFW_ClientServerCallback, + RageFW_ClientServerEvent, } from './types' +class Client { + public register( + eventName: EventName, + callback: RageFW_ClientServerCallback, + ): void { + rpc.register(eventName, callback as rpc.ProcedureListener) + } +} + class Player { public triggerServer( eventName: EventName, @@ -14,6 +25,7 @@ class Player { } } -export const rage = { +export const fw = { + event: new Client(), player: new Player(), } diff --git a/client/src/types.ts b/client/src/types.ts index 58f3077..3f2451c 100644 --- a/client/src/types.ts +++ b/client/src/types.ts @@ -1,6 +1,9 @@ /// -import type { RageFW_ICustomClientEvent } from 'rage-fw-shared-types' +import type { + RageFW_ICustomClientEvent, + RageFW_ICustomServerEvent, +} from 'rage-fw-shared-types' export type RageFW_ClientEvent = | keyof RageFW_ICustomClientEvent @@ -15,3 +18,9 @@ export type RageFW_ClientEventReturn = K extends keyof RageFW_ICustomClientEvent ? ReturnType : never + +export type RageFW_ClientServerEvent = keyof RageFW_ICustomServerEvent + +export type RageFW_ClientServerCallback = ( + args: Parameters, +) => ReturnType diff --git a/server/dts.config.json b/server/dts.config.json index 5fbe381..3a5adec 100644 --- a/server/dts.config.json +++ b/server/dts.config.json @@ -6,10 +6,7 @@ "entries": [ { "filePath": "./src/index.ts", - "outFile": "./dist/index.d.ts", - "libraries": { - "inlinedLibraries": ["@ragempcommunity/types-server"] - } + "outFile": "./dist/index.d.ts" } ] } \ No newline at end of file diff --git a/server/package.json b/server/package.json index 9c87089..d148dd8 100644 --- a/server/package.json +++ b/server/package.json @@ -15,7 +15,8 @@ "rage-fw-shared-types": "workspace:^" }, "dependencies": { - "rage-rpc": "^0.4.0" + "rage-rpc": "^0.4.0", + "@ragempcommunity/types-server": "^2.1.8" }, "keywords": [], "author": "SashaGoncharov19",