42 lines
874 B
TypeScript
42 lines
874 B
TypeScript
/**
|
|
Server returned a response with invalid data content. This should be thrown by providers when they
|
|
cannot parse the response from the API.
|
|
*/
|
|
export class InvalidResponseDataError extends Error {
|
|
readonly data: unknown;
|
|
|
|
constructor({
|
|
data,
|
|
message = `Invalid response data: ${JSON.stringify(data)}.`,
|
|
}: {
|
|
data: unknown;
|
|
message?: string;
|
|
}) {
|
|
super(message);
|
|
|
|
this.name = 'AI_InvalidResponseDataError';
|
|
|
|
this.data = data;
|
|
}
|
|
|
|
static isInvalidResponseDataError(
|
|
error: unknown,
|
|
): error is InvalidResponseDataError {
|
|
return (
|
|
error instanceof Error &&
|
|
error.name === 'AI_InvalidResponseDataError' &&
|
|
(error as InvalidResponseDataError).data != null
|
|
);
|
|
}
|
|
|
|
toJSON() {
|
|
return {
|
|
name: this.name,
|
|
message: this.message,
|
|
stack: this.stack,
|
|
|
|
data: this.data,
|
|
};
|
|
}
|
|
}
|