import rpc from 'rage-rpc' import type { RageFW_ServerEvent, RageFW_ServerEventCallback } from './types.js' class Server { public register( eventName: EventName, callback: RageFW_ServerEventCallback, ): void { rpc.register(eventName, callback as rpc.ProcedureListener) } public registerMany(events: { [event in EventName]: RageFW_ServerEventCallback }): void { Object.entries(events).map(([eventName, callback]) => rpc.register(eventName, (args: unknown[]) => { return Array.isArray(args) ? (callback as (...arg: typeof args) => void)(...args) : (callback as (arg: typeof args) => void)(args) }), ) } } export const rage = { event: new Server(), }