release: WRNexusJS 0.8.0
Quality / quality (ubuntu-latest) (push) Failing after 21s
Quality / quality (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-08-02 23:18:51 +05:30
parent 87507edf59
commit 586a6db8ff
625 changed files with 243608 additions and 11210 deletions
+7 -7
View File
@@ -119,7 +119,7 @@ export interface RealtimeSecurityOptions {
onViolation?(reason: string, client?: RoomClient): void;
}
export interface RoomHandlers<TData = Record<string, unknown>> {
export interface RoomHandlers<TData = Record<string, unknown>, TMessage = any> {
/** Per-room abuse and payload controls. */
security?: RealtimeSecurityOptions;
/**
@@ -130,20 +130,20 @@ export interface RoomHandlers<TData = Record<string, unknown>> {
/** A client connected (a new tab joined the room). */
onConnect?(client: RoomClient<TData>): void | Promise<void>;
/** A message arrived (JSON is parsed; non-JSON arrives as a string). */
onMessage?(client: RoomClient<TData>, message: any): void | Promise<void>;
onMessage?(client: RoomClient<TData>, message: TMessage): void | Promise<void>;
/** A client disconnected. */
onLeave?(client: RoomClient<TData>): void | Promise<void>;
}
export interface RoomDefinition<TData = Record<string, unknown>> {
export interface RoomDefinition<TData = Record<string, unknown>, TMessage = any> {
readonly __wrnexusRoom: true;
readonly handlers: RoomHandlers<TData>;
readonly handlers: RoomHandlers<TData, TMessage>;
}
/** Define a realtime room. Export the result as the `default` of a realtime file. */
export function defineRoom<TData = Record<string, unknown>>(
handlers: RoomHandlers<TData>,
): RoomDefinition<TData> {
export function defineRoom<TData = Record<string, unknown>, TMessage = any>(
handlers: RoomHandlers<TData, TMessage>,
): RoomDefinition<TData, TMessage> {
return { __wrnexusRoom: true, handlers };
}