export class WebSocketClosedError extends Error { override name = "WebSocketClosedError"; code: number; reason: string; constructor(message: string, event?: CloseEvent) { super(message); this.code = event?.code ?? 1005; this.reason = event?.reason ?? ""; } } export class AbortedError extends Error { override name = "AbortedError"; } export class UnexpectedMessageError extends Error { override name = "UnexpectedMessageError"; unexpectedMessage: any; constructor(unexpectedMessage: any) { super('"expect" command received an unexpected message'); this.unexpectedMessage = unexpectedMessage; } } export const noError: unique symbol = Symbol("noError");