const isAborted = (err: Error): err is AbortError => ( err.name === 'AbortError' ) type AbortErrorMessage = 'resent' | 'unmount' | 'cancel' class AbortError extends DOMException { readonly fallback: T | undefined message: AbortErrorMessage constructor(message: AbortErrorMessage, fallback?: T) { super(message, 'AbortError') this.message = message this.fallback = fallback } } function handleHTTPErrors(res: Response) { if (!res.ok) { switch (res.status) { case 401: throw new Error('Ошибка авторизации') case 404: throw new Error('Объект не найден') default: { throw new Error('Ошибка ответа от сервера') } } } } export { isAborted, AbortError, handleHTTPErrors }