@renegade-fi/core
Version:
VanillaJS library for Renegade
67 lines (62 loc) • 1.72 kB
text/typescript
import { BaseError } from "./base.js";
export type SocketClosedErrorType = SocketClosedError & {
name: "SocketClosedError";
};
export class SocketClosedError extends BaseError {
constructor({
url,
}: {
url?: string | undefined;
} = {}) {
super("The socket has been closed.", {
metaMessages: [url && `URL: ${url}`].filter(Boolean) as string[],
name: "SocketClosedError",
});
}
}
export type WebSocketRequestErrorType = WebSocketRequestError & {
name: "WebSocketRequestError";
};
export class WebSocketRequestError extends BaseError {
constructor({
body,
cause,
details,
url,
}: {
body?: { [key: string]: unknown } | undefined;
cause?: Error | undefined;
details?: string | undefined;
url: string;
}) {
super("WebSocket request failed.", {
cause,
details,
metaMessages: [`URL: ${url}`, body && `Request body: ${JSON.stringify(body)}`].filter(
Boolean,
) as string[],
name: "WebSocketRequestError",
});
}
}
export type WebSocketConnectionErrorType = WebSocketConnectionError & {
name: "WebSocketConnectionError";
};
export class WebSocketConnectionError extends BaseError {
constructor({
url,
cause,
details,
}: {
url: string;
cause?: Error | undefined;
details?: string | undefined;
}) {
super("Failed to establish WebSocket connection.", {
cause,
details,
metaMessages: [`URL: ${url}`],
name: "WebSocketConnectionError",
});
}
}