import rpc from 'rage-rpc' import { RageFW_ClientCallback, RageFW_ClientEvent, RageFW_ClientEventReturn, RageFW_ClientServerEvent, RageFW_ClientServerEventArguments, RageFW_ClientServerEventReturn, } from './types' class Client { public register( eventName: EventName, callback: RageFW_ClientCallback, ): void { rpc.register(eventName, data => { return callback(data) }) } } class Player { public triggerServer( eventName: EventName, args: RageFW_ClientServerEventArguments, ): Promise> { return rpc.callServer(eventName, args) } } export const fw = { event: new Client(), player: new Player(), } fw.player.triggerServer('customServerEvent', ['wer']) fw.event.register('customClientEvent', ([arg1]) => true)