export class HttpError extends Error { status: number; errorCode?: number; constructor(message: string, status: number, errorCode?: number) { super(message); this.status = status; this.errorCode = errorCode; } } export class UnauthorizedError extends HttpError { constructor(message: string, errorCode?: number) { super(message, 401, errorCode); } } export class ReferenceError extends Error { isReferenceError: boolean; originalError: Error; constructor(message: string, isReferenceError: boolean, originalError: Error) { super(message); this.isReferenceError = isReferenceError; this.originalError = originalError; } }