UNPKG

@colyseus/core

Version:

Multiplayer Framework for Node.js.

51 lines (50 loc) 3.04 kB
import type { ExtractMessageType } from '@colyseus/shared-types'; import type { Room } from '../Room.ts'; export type RoomMethodName = 'onCreate' | 'onAuth' | 'onJoin' | 'onLeave' | 'onDrop' | 'onReconnect' | 'onDispose' | 'onMessage' | 'setSimulationInterval' | 'setInterval' | 'setTimeout'; export type RoomException<R extends Room = Room> = OnCreateException<R> | OnAuthException<R> | OnJoinException<R> | OnLeaveException<R> | OnDropException<R> | OnReconnectException<R> | OnDisposeException | OnMessageException<R> | SimulationIntervalException | TimedEventException; export declare class OnCreateException<R extends Room = Room> extends Error { options: Parameters<R['onCreate']>[0]; constructor(cause: Error, message: string, options: Parameters<R['onCreate']>[0]); } export declare class OnAuthException<R extends Room = Room> extends Error { client: Parameters<R['onAuth']>[0]; options: Parameters<R['onAuth']>[1]; constructor(cause: Error, message: string, client: Parameters<R['onAuth']>[0], options: Parameters<R['onAuth']>[1]); } export declare class OnJoinException<R extends Room = Room> extends Error { client: Parameters<R['onJoin']>[0]; options: Parameters<R['onJoin']>[1]; auth: Parameters<R['onJoin']>[2]; constructor(cause: Error, message: string, client: Parameters<R['onJoin']>[0], options: Parameters<R['onJoin']>[1], auth: Parameters<R['onJoin']>[2]); } export declare class OnLeaveException<R extends Room = Room> extends Error { client: Parameters<R['onLeave']>[0]; consented: Parameters<R['onLeave']>[1]; constructor(cause: Error, message: string, client: Parameters<R['onLeave']>[0], consented: Parameters<R['onLeave']>[1]); } export declare class OnDropException<R extends Room = Room> extends Error { client: Parameters<R['onDrop']>[0]; code: Parameters<R['onDrop']>[1]; constructor(cause: Error, message: string, client: Parameters<R['onDrop']>[0], code: Parameters<R['onDrop']>[1]); } export declare class OnReconnectException<R extends Room = Room> extends Error { client: Parameters<R['onReconnect']>[0]; constructor(cause: Error, message: string, client: Parameters<R['onReconnect']>[0]); } export declare class OnDisposeException extends Error { constructor(cause: Error, message: string); } export declare class OnMessageException<R extends Room, MessageType extends keyof R['messages'] = keyof R['messages']> extends Error { client: R['~client']; payload: ExtractMessageType<R['messages'][MessageType]>; type: MessageType; constructor(cause: Error, message: string, client: R['~client'], payload: ExtractMessageType<R['messages'][MessageType]>, type: MessageType); isType<T extends keyof R['messages']>(type: T): this is OnMessageException<R, T>; } export declare class SimulationIntervalException extends Error { constructor(cause: Error, message: string); } export declare class TimedEventException extends Error { args: any[]; constructor(cause: Error, message: string, ...args: any[]); }