the-forest/client/node_modules/@libsql/hrana-client/lib-esm/errors.js
2024-09-17 20:35:18 -04:00

103 lines
2.8 KiB
JavaScript

/** Generic error produced by the Hrana client. */
export class ClientError extends Error {
/** @private */
constructor(message) {
super(message);
this.name = "ClientError";
}
}
/** Error thrown when the server violates the protocol. */
export class ProtoError extends ClientError {
/** @private */
constructor(message) {
super(message);
this.name = "ProtoError";
}
}
/** Error thrown when the server returns an error response. */
export class ResponseError extends ClientError {
code;
/** @internal */
proto;
/** @private */
constructor(message, protoError) {
super(message);
this.name = "ResponseError";
this.code = protoError.code;
this.proto = protoError;
this.stack = undefined;
}
}
/** Error thrown when the client or stream is closed. */
export class ClosedError extends ClientError {
/** @private */
constructor(message, cause) {
if (cause !== undefined) {
super(`${message}: ${cause}`);
this.cause = cause;
}
else {
super(message);
}
this.name = "ClosedError";
}
}
/** Error thrown when the environment does not seem to support WebSockets. */
export class WebSocketUnsupportedError extends ClientError {
/** @private */
constructor(message) {
super(message);
this.name = "WebSocketUnsupportedError";
}
}
/** Error thrown when we encounter a WebSocket error. */
export class WebSocketError extends ClientError {
/** @private */
constructor(message) {
super(message);
this.name = "WebSocketError";
}
}
/** Error thrown when the HTTP server returns an error response. */
export class HttpServerError extends ClientError {
status;
/** @private */
constructor(message, status) {
super(message);
this.status = status;
this.name = "HttpServerError";
}
}
/** Error thrown when a libsql URL is not valid. */
export class LibsqlUrlParseError extends ClientError {
/** @private */
constructor(message) {
super(message);
this.name = "LibsqlUrlParseError";
}
}
/** Error thrown when the protocol version is too low to support a feature. */
export class ProtocolVersionError extends ClientError {
/** @private */
constructor(message) {
super(message);
this.name = "ProtocolVersionError";
}
}
/** Error thrown when an internal client error happens. */
export class InternalError extends ClientError {
/** @private */
constructor(message) {
super(message);
this.name = "InternalError";
}
}
/** Error thrown when the API is misused. */
export class MisuseError extends ClientError {
/** @private */
constructor(message) {
super(message);
this.name = "MisuseError";
}
}