@ai-sdk/provider
Version:
30 lines (23 loc) • 734 B
text/typescript
import { AISDKError } from './ai-sdk-error';
import { getErrorMessage } from './get-error-message';
const name = 'AI_JSONParseError';
const marker = `vercel.ai.error.${name}`;
const symbol = Symbol.for(marker);
export class JSONParseError extends AISDKError {
private readonly [symbol] = true; // used in isInstance
readonly text: string;
constructor({ text, cause }: { text: string; cause: unknown }) {
super({
name,
message:
`JSON parsing failed: ` +
`Text: ${text}.\n` +
`Error message: ${getErrorMessage(cause)}`,
cause,
});
this.text = text;
}
static isInstance(error: unknown): error is JSONParseError {
return AISDKError.hasMarker(error, marker);
}
}