upd (fw):

- fixed inconsistent rpc build
- changed project-wide naming convention to prefix with "FW_" instead of "RageFW_"
This commit is contained in:
2025-01-30 19:40:09 +00:00
parent 7a37aa390e
commit edafb5289e
29 changed files with 248 additions and 287 deletions
+21 -21
View File
@@ -1,9 +1,9 @@
import { Helper } from './helper'
import { FW_Helper } from './helper'
import { rpc } from './rpc'
import type * as T from '../types'
/** Browser-side interactions */
export class Browser extends Helper {
export class FW_Browser extends FW_Helper {
constructor() {
super()
}
@@ -29,7 +29,7 @@ export class Browser extends Helper {
*
* @param eventName - The name of the event to register
* @param callback - The callback function to be executed when the event is triggered
* @returns {Browser} The current browser instance, enabling method chaining
* @returns {FW_Browser} The current browser instance, enabling method chaining
*
* @example
* // Registering an event
@@ -39,10 +39,10 @@ export class Browser extends Helper {
*
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
*/
public register<EventName extends T.RageFW_BrowserEvent>(
public register<EventName extends T.FW_BrowserEvent>(
eventName: EventName,
callback: T.RageFW_BrowserCallback<EventName>,
): Browser {
callback: T.FW_BrowserCallback<EventName>,
): FW_Browser {
this.log_('register', eventName, callback)
rpc.register<
@@ -58,7 +58,7 @@ export class Browser extends Helper {
* Unregisters a browser event, removing the associated callback
*
* @param eventName - The name of the event to unregister
* @returns {Browser} The current browser instance, enabling method chaining
* @returns {FW_Browser} The current browser instance, enabling method chaining
*
* @example
* // Unregistering an event
@@ -66,9 +66,9 @@ export class Browser extends Helper {
*
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
*/
public unregister<EventName extends T.RageFW_BrowserEvent>(
public unregister<EventName extends T.FW_BrowserEvent>(
eventName: EventName,
): Browser {
): FW_Browser {
rpc.unregister<EventName>(eventName)
return this
@@ -93,18 +93,18 @@ export class Browser extends Helper {
*
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
*/
public async trigger<EventName extends T.RageFW_BrowserEvent>(
public async trigger<EventName extends T.FW_BrowserEvent>(
eventName: EventName,
...args: T._BrowserEventHasArgs<EventName> extends true
? [T.RageFW_BrowserArgs<EventName>]
? [T.FW_BrowserArgs<EventName>]
: []
): Promise<T.RageFW_BrowserReturn<EventName>> {
): Promise<T.FW_BrowserReturn<EventName>> {
this.log_('[RPC](trigger):', eventName, ...args)
return await rpc.call<
typeof args,
EventName,
T.RageFW_BrowserReturn<EventName>
T.FW_BrowserReturn<EventName>
>(eventName, args)
}
@@ -127,18 +127,18 @@ export class Browser extends Helper {
*
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
*/
public async triggerServer<EventName extends T.RageFW_ServerEvent>(
public async triggerServer<EventName extends T.FW_ServerEvent>(
eventName: EventName,
...args: T._ServerEventHasArgs<EventName> extends true
? [T.RageFW_ServerArgs<EventName>]
? [T.FW_ServerArgs<EventName>]
: []
): Promise<T.RageFW_ServerReturn<EventName>> {
): Promise<T.FW_ServerReturn<EventName>> {
this.log_('[RPC](triggerServer):', eventName, ...args)
return await rpc.callServer<
typeof args,
EventName,
T.RageFW_ServerReturn<EventName>
T.FW_ServerReturn<EventName>
>(eventName, args)
}
@@ -161,18 +161,18 @@ export class Browser extends Helper {
*
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
*/
public async triggerClient<EventName extends T.RageFW_ClientEvent>(
public async triggerClient<EventName extends T.FW_ClientEvent>(
eventName: EventName,
...args: T._ClientEventHasArgs<EventName> extends true
? [T.RageFW_ClientArgs<EventName>]
? [T.FW_ClientArgs<EventName>]
: []
): Promise<T.RageFW_ClientReturn<EventName>> {
): Promise<T.FW_ClientReturn<EventName>> {
this.log_('[RPC](triggerClient):', eventName, ...args)
return await rpc.callClient<
typeof args,
EventName,
T.RageFW_ClientReturn<EventName>
T.FW_ClientReturn<EventName>
>(eventName, args)
}
}
+1 -1
View File
@@ -1,4 +1,4 @@
export class Helper {
export class FW_Helper {
protected debugLogs_: boolean = false
protected customLogger_:
| undefined
+5 -3
View File
@@ -1,4 +1,4 @@
import { Browser, rpc } from './core'
import { FW_Browser, rpc } from './core'
/**
* Package used on a browser-side of your Rage:MP Server
@@ -7,10 +7,12 @@ import { Browser, rpc } from './core'
*/
export const fw = {
/** Browser-side interactions */
event: new Browser(),
event: new FW_Browser(),
/** ``rage-fw-rpc`` instance used under the hood. It is highly recommended to use this one if you need it instead of creating a new instance */
rpc,
}
;(async () => {
await fw.event.triggerClient('cefReady')
await fw.event.triggerClient(
'cefReady' as Parameters<typeof fw.event.triggerClient>[0],
)
})()
+13 -12
View File
@@ -1,40 +1,41 @@
import type { RageFW_ICustomBrowserEvent } from '@entityseven/rage-fw-shared-types'
import type { FW_ICustomBrowserEvent } from '@entityseven/rage-fw-shared-types'
export type { RageFW_ICustomBrowserEvent } from '@entityseven/rage-fw-shared-types'
export type { FW_ICustomBrowserEvent } from '@entityseven/rage-fw-shared-types'
/**
* Union of all available browser event names
* These only include custom events
*/
export type RageFW_BrowserEvent = keyof RageFW_ICustomBrowserEvent
export type FW_BrowserEvent = keyof FW_ICustomBrowserEvent
/**
* Array of arguments of an event you pass as a generic
* These only include custom browser events
*/
export type RageFW_BrowserArgs<K extends RageFW_BrowserEvent> = Parameters<
RageFW_ICustomBrowserEvent[K]
export type FW_BrowserArgs<K extends FW_BrowserEvent> = Parameters<
FW_ICustomBrowserEvent[K]
>
/**
* Return type of event you pass as a generic
* These only include custom browser events
*/
export type RageFW_BrowserReturn<K extends RageFW_BrowserEvent> = ReturnType<
RageFW_ICustomBrowserEvent[K]
export type FW_BrowserReturn<K extends FW_BrowserEvent> = ReturnType<
FW_ICustomBrowserEvent[K]
>
/**
* Callback (function) of event you pass as a generic
* These only include custom browser events
*/
export type RageFW_BrowserCallback<K extends keyof RageFW_ICustomBrowserEvent> =
(...args: RageFW_BrowserArgs<K>) => Promise<RageFW_BrowserReturn<K>>
export type FW_BrowserCallback<K extends keyof FW_ICustomBrowserEvent> = (
...args: FW_BrowserArgs<K>
) => Promise<FW_BrowserReturn<K>>
export type _BrowserEventHasArgs<
EventName extends keyof RageFW_ICustomBrowserEvent,
> = keyof RageFW_ICustomBrowserEvent extends never
EventName extends keyof FW_ICustomBrowserEvent,
> = keyof FW_ICustomBrowserEvent extends never
? false
: Parameters<RageFW_ICustomBrowserEvent[EventName]>[0] extends undefined
: Parameters<FW_ICustomBrowserEvent[EventName]>[0] extends undefined
? false
: true
+13 -22
View File
@@ -1,41 +1,32 @@
import type { RageFW_ICustomClientEvent } from '@entityseven/rage-fw-shared-types'
import type { FW_ICustomClientEvent } from '@entityseven/rage-fw-shared-types'
export type { RageFW_ICustomClientEvent } from '@entityseven/rage-fw-shared-types'
/**
* Union of all internal client event names
* These only include internal events
*/
export type RageFW_InternalEvent = 'cefReady'
export type { FW_ICustomClientEvent } from '@entityseven/rage-fw-shared-types'
/**
* Union of all available client event names
* These only include custom events and some internals for RageFW
*/
export type RageFW_ClientEvent =
| keyof RageFW_ICustomClientEvent
| RageFW_InternalEvent
export type FW_ClientEvent = keyof FW_ICustomClientEvent
/**
* Array of arguments of event you pass as a generic
* These only include custom client events
*/
export type RageFW_ClientArgs<K extends RageFW_ClientEvent> = Parameters<
RageFW_ICustomClientEvent[K]
export type FW_ClientArgs<K extends FW_ClientEvent> = Parameters<
FW_ICustomClientEvent[K]
>
/**
* Return type of event you pass as a generic
* These only include custom client events
*/
export type RageFW_ClientReturn<K extends RageFW_ClientEvent> = ReturnType<
RageFW_ICustomClientEvent[K]
export type FW_ClientReturn<K extends FW_ClientEvent> = ReturnType<
FW_ICustomClientEvent[K]
>
export type _ClientEventHasArgs<
EventName extends keyof RageFW_ICustomClientEvent,
> = keyof RageFW_ICustomClientEvent extends never
? false
: Parameters<RageFW_ICustomClientEvent[EventName]>[0] extends undefined
? false
: true
export type _ClientEventHasArgs<EventName extends keyof FW_ICustomClientEvent> =
keyof FW_ICustomClientEvent extends never
? false
: Parameters<FW_ICustomClientEvent[EventName]>[0] extends undefined
? false
: true
+13 -14
View File
@@ -1,33 +1,32 @@
import type { RageFW_ICustomServerEvent } from '@entityseven/rage-fw-shared-types'
import type { FW_ICustomServerEvent } from '@entityseven/rage-fw-shared-types'
export type { RageFW_ICustomServerEvent } from '@entityseven/rage-fw-shared-types'
export type { FW_ICustomServerEvent } from '@entityseven/rage-fw-shared-types'
/**
* Union of all available server event names
* These only include custom events
*/
export type RageFW_ServerEvent = keyof RageFW_ICustomServerEvent
export type FW_ServerEvent = keyof FW_ICustomServerEvent
/**
* Array of arguments of event you pass as a generic
* These only include custom server events
*/
export type RageFW_ServerArgs<K extends RageFW_ServerEvent> = Parameters<
RageFW_ICustomServerEvent[K]
export type FW_ServerArgs<K extends FW_ServerEvent> = Parameters<
FW_ICustomServerEvent[K]
>
/**
* Return type of event you pass as a generic
* These only include custom server events
*/
export type RageFW_ServerReturn<K extends RageFW_ServerEvent> = ReturnType<
RageFW_ICustomServerEvent[K]
export type FW_ServerReturn<K extends FW_ServerEvent> = ReturnType<
FW_ICustomServerEvent[K]
>
export type _ServerEventHasArgs<
EventName extends keyof RageFW_ICustomServerEvent,
> = keyof RageFW_ICustomServerEvent extends never
? false
: Parameters<RageFW_ICustomServerEvent[EventName]>[0] extends undefined
? false
: true
export type _ServerEventHasArgs<EventName extends keyof FW_ICustomServerEvent> =
keyof FW_ICustomServerEvent extends never
? false
: Parameters<FW_ICustomServerEvent[EventName]>[0] extends undefined
? false
: true