Files

24 lines
564 B
TypeScript

export class DomainError extends Error {
readonly code: string;
readonly status: number;
readonly retryable: boolean;
readonly retryAfterSeconds?: number;
readonly actionUrl?: string;
constructor(
code: string,
message: string,
status = 400,
retryable = status >= 500 || status === 429,
retryAfterSeconds?: number,
actionUrl?: string,
) {
super(message);
this.code = code;
this.status = status;
this.retryable = retryable;
this.retryAfterSeconds = retryAfterSeconds;
this.actionUrl = actionUrl;
}
}