rea/src/domain/providerAdapterError.ts

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;
}
}