Rpc integration + type fixes #3
@ -30,7 +30,7 @@ export type RageFW_CefReturn<K extends RageFW_CefEvent> = ReturnType<
|
||||
*/
|
||||
export type RageFW_CefCallback<K extends keyof RageFW_ICustomCefEvent> = (
|
||||
args: RageFW_CefArgs<K>,
|
||||
) => RageFW_CefReturn<K>
|
||||
) => Promise<RageFW_CefReturn<K>>
|
||||
|
||||
export type _CefEventHasArgs<EventName extends keyof RageFW_ICustomCefEvent> =
|
||||
keyof RageFW_ICustomCefEvent extends never
|
||||
|
@ -7,8 +7,8 @@ export class Client {
|
||||
eventName: EventName,
|
||||
callback: RageFW_ClientCallback<EventName>,
|
||||
): void {
|
||||
rpc.register(eventName, data => {
|
||||
return callback(data)
|
||||
rpc.register(eventName, async data => {
|
||||
return await callback(data)
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ export type RageFW_ClientArgs<K extends RageFW_ClientEvent> =
|
||||
*/
|
||||
export type RageFW_ClientCallback<K extends RageFW_ClientEvent> = (
|
||||
args: RageFW_ClientArgs<K>,
|
||||
) => RageFW_ClientReturn<K>
|
||||
) => Promise<RageFW_ClientReturn<K>>
|
||||
|
||||
/**
|
||||
* Return type for an event, name of which you pass as a generic
|
||||
|
@ -24,7 +24,7 @@ export class Server {
|
||||
rpc.register(
|
||||
eventName,
|
||||
async (args: RageFW_ServerArgs<EventName>, info) => {
|
||||
callback([info.player as PlayerMp, ...args])
|
||||
await callback([info.player as PlayerMp, ...args])
|
||||
},
|
||||
)
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ export type RageFW_ServerCallbackCustom<
|
||||
K extends keyof RageFW_ICustomServerEvent = keyof RageFW_ICustomServerEvent,
|
||||
> = (
|
||||
payload: [player: PlayerMp, ...args: RageFW_ServerArgs<K>],
|
||||
) => RageFW_ServerReturn<K>
|
||||
) => Promise<RageFW_ServerReturn<K>>
|
||||
|
||||
/**
|
||||
* Array of arguments for an event, name of which you pass as a generic
|
||||
@ -63,7 +63,9 @@ export type RageFW_ServerCallbackCustom<
|
||||
*/
|
||||
export type RageFW_ServerCallbackNative<
|
||||
K extends keyof IServerEvents = keyof IServerEvents,
|
||||
> = (payload: Parameters<IServerEvents[K]>) => ReturnType<IServerEvents[K]>
|
||||
> = (
|
||||
payload: Parameters<IServerEvents[K]>,
|
||||
) => Promise<ReturnType<IServerEvents[K]>>
|
||||
|
||||
export type _ServerEventHasArgs<EventName extends RageFW_ServerEvent> =
|
||||
EventName extends keyof RageFW_ICustomServerEvent
|
||||
|
Loading…
Reference in New Issue
Block a user