diff --git a/cef/src/types/index.ts b/cef/src/types/index.ts index 91a4286..e6bee6e 100644 --- a/cef/src/types/index.ts +++ b/cef/src/types/index.ts @@ -12,34 +12,76 @@ export type { RageFW_ICustomClientEvent, } from 'rage-fw-shared-types' +/** + * Union of all available cef event names + * These only include custom events + */ export type RageFW_CefEvent = keyof RageFW_ICustomCefEvent + +/** + * Union of all available server event names + * These only include custom events + */ export type RageFW_ServerEvent = keyof RageFW_ICustomServerEvent + +/** + * Union of all available client event names + * These only include custom events + */ export type RageFW_ClientEvent = keyof RageFW_ICustomClientEvent +/** + * Array of arguments of an event you pass as a generic + * These only include custom cef events + */ export type RageFW_CefArguments = Parameters< RageFW_ICustomCefEvent[K] > +/** + * Return type of event you pass as a generic + * These only include custom cef events + */ export type RageFW_CefReturn = ReturnType< RageFW_ICustomCefEvent[K] > +/** + * Callback (function) of event you pass as a generic + * These only include custom cef events + */ export type RageFW_CefCallback = ( args: RageFW_CefArguments, ) => RageFW_CefReturn +/** + * Array of arguments of event you pass as a generic + * These only include custom server events + */ export type RageFW_ServerArguments = Parameters< RageFW_ICustomServerEvent[K] > +/** + * Return type of event you pass as a generic + * These only include custom server events + */ export type RageFW_ServerReturn = ReturnType< RageFW_ICustomServerEvent[K] > +/** + * Array of arguments of event you pass as a generic + * These only include custom client events + */ export type RageFW_ClientArguments = Parameters< RageFW_ICustomClientEvent[K] > +/** + * Return type of event you pass as a generic + * These only include custom client events + */ export type RageFW_ClientReturn = ReturnType< RageFW_ICustomClientEvent[K] > diff --git a/client/src/types/client.ts b/client/src/types/client.ts index afaea2c..6f801f0 100644 --- a/client/src/types/client.ts +++ b/client/src/types/client.ts @@ -2,15 +2,31 @@ import type { RageFW_ICustomClientEvent } from 'rage-fw-shared-types' +/** + * Union of all available client event names + * These only include custom events + */ export type RageFW_ClientEvent = keyof RageFW_ICustomClientEvent +/** + * Array of arguments for an event, name of which you pass as a generic + * These only include custom events + */ export type RageFW_ClientEventArguments = Parameters +/** + * Callback (function) for an event, name of which you pass as a generic + * These only include custom events + */ export type RageFW_ClientEventCallback = ( args: RageFW_ClientEventArguments, ) => RageFW_ClientEventReturn +/** + * Return type for an event, name of which you pass as a generic + * These only include custom events + */ export type RageFW_ClientEventReturn = K extends keyof RageFW_ICustomClientEvent ? ReturnType diff --git a/client/src/types/server.ts b/client/src/types/server.ts index f44a489..121e68b 100644 --- a/client/src/types/server.ts +++ b/client/src/types/server.ts @@ -2,14 +2,26 @@ import type { RageFW_ICustomServerEvent } from 'rage-fw-shared-types' +/** + * Union of all available server event names callable from client + * These only include custom events + */ export type RageFW_ClientServerEvent = keyof RageFW_ICustomServerEvent +/** + * Array of arguments for an event, name of which you pass as a generic + * These only include custom events + */ export type RageFW_ClientServerEventArguments< K extends RageFW_ClientServerEvent, > = K extends keyof RageFW_ICustomServerEvent ? Parameters : never +/** + * Return type for an event, name of which you pass as a generic + * These only include custom events + */ export type RageFW_ClientServerEventReturn = K extends keyof RageFW_ICustomServerEvent ? ReturnType diff --git a/server/src/types/client.ts b/server/src/types/client.ts index 341997e..00ff728 100644 --- a/server/src/types/client.ts +++ b/server/src/types/client.ts @@ -2,13 +2,25 @@ import type { RageFW_ICustomClientEvent } from 'rage-fw-shared-types' +/** + * Union of all available client event names + * These only include custom events + */ export type RageFW_ClientEvent = keyof RageFW_ICustomClientEvent +/** + * Array of arguments of an event you pass as a generic + * These only include custom events + */ export type RageFW_ClientEventArguments = K extends RageFW_ClientEvent ? Parameters : never +/** + * Return type of event you pass as a generic + * These only include custom events + */ export type RageFW_ClientEventReturn = K extends RageFW_ClientEvent ? ReturnType diff --git a/server/src/types/server.ts b/server/src/types/server.ts index 0e93d8a..8c52b61 100644 --- a/server/src/types/server.ts +++ b/server/src/types/server.ts @@ -3,10 +3,18 @@ import type { RageFW_ICustomServerEvent } from 'rage-fw-shared-types' export type { RageFW_ICustomServerEvent } from 'rage-fw-shared-types' +/** + * Union of all available server event names + * These also include system events + */ export type RageFW_ServerEvent = | keyof RageFW_ICustomServerEvent | keyof IServerEvents +/** + * Array of arguments for an event, name of which you pass as a generic + * These also include system events + */ export type RageFW_ServerEventArguments = K extends keyof RageFW_ICustomServerEvent ? Parameters> @@ -14,6 +22,10 @@ export type RageFW_ServerEventArguments = ? Parameters> : never +/** + * Callback (function) for an event, name of which you pass as a generic + * These include system and custom events + */ export type RageFW_ServerEventCallback = K extends keyof RageFW_ICustomServerEvent ? RageFW_ServerEventCallbackCustom @@ -21,6 +33,10 @@ export type RageFW_ServerEventCallback = ? RageFW_ServerEventCallbackNative : never +/** + * Return type for an event, name of which you pass as a generic + * These include system and custom events + */ export type RageFW_ServerEventReturn = K extends keyof RageFW_ICustomServerEvent ? ReturnType @@ -28,6 +44,10 @@ export type RageFW_ServerEventReturn = ? ReturnType : never +/** + * Array of arguments for an event, name of which you pass as a generic + * These only include custom events + */ export type RageFW_ServerEventCallbackCustom< K extends keyof RageFW_ICustomServerEvent = keyof RageFW_ICustomServerEvent, > = ( @@ -35,6 +55,10 @@ export type RageFW_ServerEventCallbackCustom< args: RageFW_ServerEventArguments, ) => RageFW_ServerEventReturn +/** + * Array of arguments for an event, name of which you pass as a generic + * These only include system events + */ export type RageFW_ServerEventCallbackNative< K extends keyof IServerEvents = keyof IServerEvents, > = IServerEvents[K]