jsdoc
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
RageFW_ServerEvent,
|
||||
} from '../types'
|
||||
|
||||
/** Browser-side interactions */
|
||||
export class Browser extends Helper {
|
||||
constructor() {
|
||||
super()
|
||||
@@ -22,6 +23,21 @@ export class Browser extends Helper {
|
||||
this.customLogger_ = fn
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a browser event with an associated callback
|
||||
*
|
||||
* @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
|
||||
*
|
||||
* @example
|
||||
* // Registering an event
|
||||
* fw.event.register("showNotification", (message, color) => {
|
||||
* // do something
|
||||
* })
|
||||
*
|
||||
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
|
||||
*/
|
||||
public register<EventName extends T.RageFW_BrowserEvent>(
|
||||
eventName: EventName,
|
||||
callback: T.RageFW_BrowserCallback<EventName>,
|
||||
@@ -37,6 +53,18 @@ export class Browser extends Helper {
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* @example
|
||||
* // Unregistering an event
|
||||
* fw.event.unregister("showNotification")
|
||||
*
|
||||
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
|
||||
*/
|
||||
public unregister<EventName extends T.RageFW_BrowserEvent>(
|
||||
eventName: EventName,
|
||||
): Browser {
|
||||
@@ -45,6 +73,25 @@ export class Browser extends Helper {
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggers a browser event from the browser with arguments from shared types
|
||||
*
|
||||
* Formerly known as ``call`` or ``emit``
|
||||
*
|
||||
* @param eventName - The name of the browser event to trigger
|
||||
* @param [args] - Arguments for the browser event, if present
|
||||
* @returns {Promise} resolving to the browser's response for the event
|
||||
*
|
||||
* @example
|
||||
* // Triggering a browser event without arguments
|
||||
* fw.event.trigger("browserEventName")
|
||||
*
|
||||
* @example
|
||||
* // Triggering a browser event with arguments
|
||||
* fw.event.trigger("browserEventName", ["message to me"])
|
||||
*
|
||||
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
|
||||
*/
|
||||
public async trigger<EventName extends T.RageFW_BrowserEvent>(
|
||||
eventName: EventName,
|
||||
...args: T._BrowserEventHasArgs<EventName> extends true
|
||||
@@ -60,6 +107,25 @@ export class Browser extends Helper {
|
||||
>(eventName, args)
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggers a server event from the browser with arguments from shared types
|
||||
*
|
||||
* Formerly known as ``callServer`` or ``emitServer``
|
||||
*
|
||||
* @param eventName - The name of the server event to trigger
|
||||
* @param [args] - Arguments for the server event, if present
|
||||
* @returns {Promise} resolving to the server's response for the event
|
||||
*
|
||||
* @example
|
||||
* // Triggering a server event without arguments
|
||||
* fw.event.triggerServer("serverEventName")
|
||||
*
|
||||
* @example
|
||||
* // Triggering a server event with arguments
|
||||
* fw.event.triggerServer("serverEventName", ["message to server"])
|
||||
*
|
||||
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
|
||||
*/
|
||||
public async triggerServer<EventName extends T.RageFW_ServerEvent>(
|
||||
eventName: EventName,
|
||||
...args: T._ServerEventHasArgs<EventName> extends true
|
||||
@@ -75,6 +141,25 @@ export class Browser extends Helper {
|
||||
>(eventName, args)
|
||||
}
|
||||
|
||||
/**
|
||||
* Triggers a client event from the browser with arguments from shared types
|
||||
*
|
||||
* Formerly known as ``callClient`` or ``emitClient``
|
||||
*
|
||||
* @param eventName - The name of the client event to trigger
|
||||
* @param [args] - Arguments for the client event, if present
|
||||
* @returns {Promise} resolving to the client's response for the event
|
||||
*
|
||||
* @example
|
||||
* // Triggering a client event without arguments
|
||||
* fw.event.triggerClient("clientEventName")
|
||||
*
|
||||
* @example
|
||||
* // Triggering a client event with arguments
|
||||
* fw.event.triggerClient("clientEventName", ["message to client"])
|
||||
*
|
||||
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
|
||||
*/
|
||||
public async triggerClient<EventName extends T.RageFW_ClientEvent>(
|
||||
eventName: EventName,
|
||||
...args: T._ClientEventHasArgs<EventName> extends true
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
import { Browser, rpc } from './core'
|
||||
|
||||
/**
|
||||
* Package used on a browser-side of your Rage:MP Server
|
||||
*
|
||||
* @see {@link https://git.entityseven.com/entityseven/rage-framework/wiki Wiki}
|
||||
*/
|
||||
export const fw = {
|
||||
/** Browser-side interactions */
|
||||
event: new 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 () => {
|
||||
|
||||
Reference in New Issue
Block a user