export enum WrpcErrorCode { ValidationError = "validation_error", RoomNotFound = "room_not_found", AlreadyInRoom = "already_in_room", RoomFull = "room_full", RoomLocked = "room_locked", EventNotFound = "event_not_found", CommandNotFound = "command_not_found", RuntimeError = "runtime_error", } export interface WrpcErrorConfig { code: Code; message?: string; defined?: boolean; data?: Data; } export class WrpcError extends Error { readonly code: Code; readonly defined: boolean; readonly data: Data; constructor(config: WrpcErrorConfig) { super(config.message); this.code = config.code; this.defined = config.defined ?? false; this.data = config.data as Data; } }