rage-framework/client/src/core/client.ts

34 lines
760 B
TypeScript
Raw Normal View History

import { Rpc } from '@entityseven/rage-fw-rpc'
2024-10-28 12:11:24 +00:00
import type {
RageFW_ClientArgs,
RageFW_ClientCallback,
RageFW_ClientEvent,
} from '../types'
export class Client {
2024-10-28 12:11:24 +00:00
private _rpc: Rpc = new Rpc()
get rpc(): Rpc {
return this._rpc
}
public register<EventName extends RageFW_ClientEvent>(
eventName: EventName,
callback: RageFW_ClientCallback<EventName>,
): void {
2024-10-28 12:11:24 +00:00
this._rpc.register(
eventName,
async (data: RageFW_ClientArgs<EventName>) => {
return await callback(data)
},
)
}
public unregister<EventName extends RageFW_ClientEvent>(
eventName: EventName,
): void {
2024-10-28 12:11:24 +00:00
this._rpc.unregister(eventName)
}
}