diff --git a/cef/src/index.ts b/cef/src/index.ts index b3404d3..1292694 100644 --- a/cef/src/index.ts +++ b/cef/src/index.ts @@ -1,13 +1,46 @@ import rpc from 'rage-rpc' +import { + RageFW_CefArguments, + RageFW_CefCallback, + RageFW_CefReturn, + RageFW_ClientArguments, + RageFW_ClientReturn, + RageFW_ServerArguments, + RageFW_ServerReturn, + RageFW_ICustomCefEvent, + RageFW_ICustomClientEvent, + RageFW_ICustomServerEvent, +} from './types' + class Cef { - public register() {} + public register( + eventName: EventName, + callback: RageFW_CefCallback, + ): void { + rpc.register(eventName, callback) + } - public trigger() {} + public trigger( + eventName: EventName, + args: RageFW_CefArguments, + ): Promise> { + return rpc.call(eventName, args) + } - public triggerServer() {} + public triggerServer( + eventName: EventName, + args: RageFW_ServerArguments, + ): Promise> { + return rpc.callServer(eventName, args) + } - public triggerClient() {} + public triggerClient( + eventName: EventName, + args: RageFW_ClientArguments, + ): Promise> { + return rpc.callClient(eventName, args) + } } export const fw = { diff --git a/cef/src/types/index.ts b/cef/src/types/index.ts index e69de29..91a4286 100644 --- a/cef/src/types/index.ts +++ b/cef/src/types/index.ts @@ -0,0 +1,45 @@ +/// + +import type { + RageFW_ICustomCefEvent, + RageFW_ICustomClientEvent, + RageFW_ICustomServerEvent, +} from 'rage-fw-shared-types' + +export type { + RageFW_ICustomCefEvent, + RageFW_ICustomServerEvent, + RageFW_ICustomClientEvent, +} from 'rage-fw-shared-types' + +export type RageFW_CefEvent = keyof RageFW_ICustomCefEvent +export type RageFW_ServerEvent = keyof RageFW_ICustomServerEvent +export type RageFW_ClientEvent = keyof RageFW_ICustomClientEvent + +export type RageFW_CefArguments = Parameters< + RageFW_ICustomCefEvent[K] +> + +export type RageFW_CefReturn = ReturnType< + RageFW_ICustomCefEvent[K] +> + +export type RageFW_CefCallback = ( + args: RageFW_CefArguments, +) => RageFW_CefReturn + +export type RageFW_ServerArguments = Parameters< + RageFW_ICustomServerEvent[K] +> + +export type RageFW_ServerReturn = ReturnType< + RageFW_ICustomServerEvent[K] +> + +export type RageFW_ClientArguments = Parameters< + RageFW_ICustomClientEvent[K] +> + +export type RageFW_ClientReturn = ReturnType< + RageFW_ICustomClientEvent[K] +> diff --git a/cef/tsconfig.json b/cef/tsconfig.json index ad221cb..00ca838 100644 --- a/cef/tsconfig.json +++ b/cef/tsconfig.json @@ -12,7 +12,7 @@ "moduleDetection": "auto", "module": "CommonJS", "resolveJsonModule": true, - "declaration": true, + "declaration": false, "declarationMap": false, "sourceMap": false, "downlevelIteration": false,