/// import rpc from 'rage-rpc' class Server implements RageFW_Server { public register( eventName: EventName, callback: RageFW_ServerEventCallback, ): void { rpc.register(eventName, callback as rpc.ProcedureListener) } public registerMany(events: { [key in EventName]: RageFW_ServerEventCallback }): void { Object.keys(events).forEach(eventName => // unknown[] ? // rpc.register(eventName, (args: unknown[]) => // Array.isArray(args) ? events[eventName as keyof typeof events](...args) : callback(args), // ), rpc.register(eventName, (args: unknown[]) => Array.isArray(args) ? events[eventName as EventName](args) : events[eventName as EventName](args), ), ) } } export const rage = { event: new Server(), } rage.event.register('customServerEvent', (player, arg1, arg2) => { return true }) rage.event.registerMany({ customServerEvent: (player, arg1, arg2) => { return true }, })