@colyseus/core
Version:
Multiplayer Framework for Node.js.
51 lines (50 loc) • 3.04 kB
TypeScript
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[]);
}