25 lines
767 B
TypeScript
25 lines
767 B
TypeScript
import {
|
|
AnalysisError,
|
|
type AnalysisErrorOptions,
|
|
} from "./analysisErrorBase.js";
|
|
|
|
/** A provider adapter failed outside its more precise typed variants. */
|
|
export interface ProviderAdapterErrorOptions extends AnalysisErrorOptions {
|
|
readonly userMessage?: string;
|
|
}
|
|
|
|
/** A provider adapter failed outside its more precise typed variants. */
|
|
export class ProviderAdapterError extends AnalysisError {
|
|
readonly _tag = "ProviderAdapterError";
|
|
override readonly userMessage: string | undefined;
|
|
|
|
constructor(
|
|
readonly providerId: string,
|
|
readonly operation: string,
|
|
options: ProviderAdapterErrorOptions = {},
|
|
) {
|
|
super(`Provider ${providerId} adapter failed during ${operation}`, options);
|
|
this.userMessage = options.userMessage;
|
|
}
|
|
}
|